首页 >Java >java教程 >Hibernate JPA 可以为非主键列生成序列吗?

Hibernate JPA 可以为非主键列生成序列吗?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-07 08:00:24224浏览

Can Hibernate JPA Generate Sequences for Non-PrimaryKey Columns?

非标识符列的 Hibernate JPA 序列

问题:

是否可以使用 Hibernate 为非主键列生成基于序列的值JPA?

答案:

不,Hibernate JPA 不直接支持为非标识符列生成基于序列的值。 @GenerateValue 注解仅与 @Id 一起使用来生成自动编号。

解决方法:

要实现此功能,解决方法是创建一个单独的实体生成的 Id 以及与原始实体的一对一关系,如下所示:

@Entity
public class GeneralSequenceNumber {
    @Id
    @GeneratedValue(...)
    private Long number;
}

@Entity 
public class MyEntity {
    @Id ..
    private Long id;

    @OneToOne(...)
    private GeneralSequnceNumber myVal;
}

在此解决方案中, GeneralSequenceNumber 实体管理序列生成,同时保持与原始 MyEntity 的关系。

以上是Hibernate JPA 可以为非主键列生成序列吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn