@GeneratedValue注释

时间:2011-05-26 18:54:21

标签: java jpa annotations jpa-2.0

我有一个实体,它有一个非键列,我在我的数据库中设置为自动生成。

我无法使用@GeneratedValue,因为据我所知,它仅适用于关键字段。

鉴于这种情况,我如何指示非键列是自动生成的?

2 个答案:

答案 0 :(得分:1)

如果您对让JPA提供程序在创建对象时为您生成密钥感兴趣,但只想确保在数据库创建它时保持更新并且正在使用Hibernate:您可以使用{{3}注释:

The annotated property is generated by the database.

根据@org.hibernate.annotations.Generated看起来有一种简单的方法让你的JPA为你生成价值。

答案 1 :(得分:0)

我遇到了完全相同的问题,并使用@PrePersist注释解决了这个问题。

在操作场的方法中使用它。

警告:每次持久保存实体时都会调用此函数,因此不要忘记测试该值是否已初始化。

希望有所帮助。我对其他方法感兴趣!