wsdl2java を使用して POJO を生成しています。次に、POJOS に @Entity アノテーションを追加しました。次に、db スキーマの生成とデータの永続化に hbm2ddl を使用します。1つを除くすべてのクラスファイルでうまく機能します。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>
}