试图让我的数据库自动生成GUID,但出现休眠问题

时间:2018-07-13 16:46:41

标签: hibernate spring-data-jpa

实体代码:

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]

(完整的堆栈跟踪很长,出于可读性考虑,我将其截断了)

有人知道我在这里做错了什么吗?

0 个答案:

没有答案