im new с Hibernate, и у меня есть некоторые проблемы при попытке сохранить объект в базе данных.Hibernate Insert пытается обновить столбец идентификаторов
@Entity
@Table(name="order")
public class Order implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long number;
@Column(name="date")
private Timestamp date;
@Column(name="obs")
private String obss;
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name="id", referencedColumnName="number")
private List <OrderDetail> orderDetail;
(...)
и OrderDetail класса
@Entity
@Table(name="orderDetail")
public class OrderDetail implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
@Column(name="orderType")
private Long orderType;
(...)
Когда я пытаюсь сохранить объекты в БД я получаю следующее сообщение об ошибке:
Hibernate:
insert
into
order
(date, obs, rejectObs, pid, destiny, stateId, userId, version)
values
(?, ?, ?, ?, ?, ?, ?, ?)
Hibernate:
insert
into
OrderDetail
(boxId, date, digitalid, documentId, rejectObs, obs, orderId, stateId, orderType)
values
(?, ?, ?, ?, ?, ?, ?, ?, ?,)
Hibernate:
update
OrderDetail
set
id=?
where
id=?
16/09/2014 11:50:03 org.hibernate.util.JDBCExceptionReporter logExceptions
WARNING: SQL Error: 8102, SQLState: S1000
16/09/2014 11:50:03 org.hibernate.util.JDBCExceptionReporter logExceptions
ERROR: Cannot update identity column 'id'.
16/09/2014 11:50:03 org.hibernate.event.def.AbstractFlushingEventListener performExecutions
GRAVE: Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: could not insert collection: [com.sa.ra.entities.Order.orderDetail#4252]
Я не знаю, почему Hibernate пытается обновить OrderDetail Таблица. Кто-нибудь говорит, что происходит? im using SQL Server 2008 и hibernate 3.5.0
Thx! это сработало. Отлично. –