我正在使用wsdl2java生成POJO。然后将@Entity注释添加到POJOS中。然后使用hbm2ddl生成数据库模式&持久化数据。它对我所有的类文件都能很好的工作,除了一个。将POJO保存到Oracle 11g数据库时,出现以下错误
java.sql.BatchUpdateException: ORA-01461: can bind a LONG value only for insert into a LONG column
at oracle.jdbc.driver.DatabaseError.throwBatchUpdateException(DatabaseError.java:343)
at oracle.jdbc.driver.OraclePreparedStatement.executeBatch(OraclePreparedStatement.java:10656)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:242)
... 11 more找不出是什么导致了这个问题?请帮帮我。
我的POJO类是-
@Entity
public class ServiceTrain implements java.io.Serializable {
private java.lang.String accountName;
private short applicationModeId;
private java.lang.String cityLocation;
private short countryId;
private java.lang.String customerCompany;
private java.lang.Long customerHoldingId;
private java.util.Calendar lastChangedAt;
private short loadModeId;
private short marketId;
private short marketSegmentId;
private java.lang.String operatorCompany;
private java.lang.Long operatorHoldingId;
private short plantTypeId;
private java.lang.String postalCode;
private java.lang.Integer provinceStateId;
private short responsibleCountryId;
private com.siemens.scr.ServicePlantObjects[] servicePlantObjectsArray;
@Id
private long serviceTrainId;
private java.lang.String streetAddress;
private java.lang.String trainName;
public ServiceTrain() {
}
....
.... <getters & setters>
}发布于 2011-08-05 01:24:51
我真的不知道这个问题的原因。但是通过在每次向表中插入记录时创建一个新的ServiceTrain bean,解决了这个问题。出于某种奇怪的原因,这种方法工作得很好。
发布于 2011-11-17 01:35:32
当我发现我正试图在Varchar2字段中输入一个4000+字符串时,我解决了这个问题。
我缩短了条目的长度,错误就消失了。
表中还有其他数字字段,这让我在一开始就偏离了方向。
https://stackoverflow.com/questions/6932088
复制相似问题