我有一个实体,它有一个非键列,我在我的数据库中设置为自动生成。
我无法使用@GeneratedValue
,因为据我所知,它仅适用于关键字段。
鉴于这种情况,我如何指示非键列是自动生成的?
答案 0 :(得分:1)
如果您对让JPA提供程序在创建对象时为您生成密钥感兴趣,但只想确保在数据库创建它时保持更新并且正在使用Hibernate:您可以使用{{3}注释:
The annotated property is generated by the database.
根据@org.hibernate.annotations.Generated
看起来有一种简单的方法让你的JPA为你生成价值。
答案 1 :(得分:0)
我遇到了完全相同的问题,并使用@PrePersist
注释解决了这个问题。
在操作场的方法中使用它。
警告:每次持久保存实体时都会调用此函数,因此不要忘记测试该值是否已初始化。
希望有所帮助。我对其他方法感兴趣!