实体代码:
public class CustomerEntity {
@Id
@Column(name = "ID")
@GeneratedValue(strategy=IDENTITY)
private String id;
@Column(name = "Name")
private String name;
}
我正在尝试将此对象插入数据库表(SQL Server 2012)。我已经设置了数据库表以在插入时自动生成新的GUID,并且已经通过在不提供ID的情况下在我的表上成功执行INSERT INTO语句(使用SQL Management Studio)来进行了测试。但是,当我尝试从Java Spring应用程序中将这种类型的对象插入数据库时,出现此错误:
org.hibernate.AssertionFailure: null identifier
at org.hibernate.engine.spi.EntityKey.<init>(EntityKey.java:51) ~[hibernate-core-5.1.10.Final.jar:5.1.10.Final]
at org.hibernate.internal.AbstractSessionImpl.generateEntityKey(AbstractSessionImpl.java:338) ~[hibernate-core-5.1.10.Final.jar:5.1.10.Final]
at org.hibernate.action.internal.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:89) ~[hibernate-core-5.1.10.Final.jar:5.1.10.Final]
at org.hibernate.engine.spi.ActionQueue.execute(ActionQueue.java:626) ~[hibernate-core-5.1.10.Final.jar:5.1.10.Final]
at org.hibernate.engine.spi.ActionQueue.addResolvedEntityInsertAction(ActionQueue.java:280) ~[hibernate-core-5.1.10.Final.jar:5.1.10.Final]
at org.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:261) ~[hibernate-core-5.1.10.Final.jar:5.1.10.Final]
at org.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:306) ~[hibernate-core-5.1.10.Final.jar:5.1.10.Final]
(完整的堆栈跟踪很长,出于可读性考虑,我将其截断了)
有人知道我在这里做错了什么吗?