Ошибка: ORA-01461: может связывать значение LONG только для вставки в столбец LONG - PullRequest
0 голосов
/ 03 августа 2011

Я использую wsdl2java для генерации POJO. Затем добавили аннотации @Entity к POJOS. Затем с помощью hbm2ddl для генерации схемы БД и сохранения данных. Это работает хорошо для всех моих файлов класса, кроме одного. Сохраняя POJO в Oracle 11g db, я получаю следующую ошибку

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>
}

Ответы [ 2 ]

1 голос
/ 16 ноября 2011

Я решил это, когда понял, что пытаюсь ввести 4000+ символьную строку в поле Varchar2.

Я уменьшил длину записи, и ошибка исчезла.

В таблице были другие поля NUMBER, которые изначально отбросили меня с тропы.

0 голосов
/ 04 августа 2011

Я действительно не знаю причину этой проблемы.Но эта проблема решена путем создания нового компонента ServiceTrain каждый раз, когда я вставляю запись в таблицу.По какой-то странной причине это работает нормально.

...