Java (JPA) 和表列默认值

问题描述 投票:0回答:1

非常感谢您对 JPA 的建议。我们有一个数据库(PostgreSQL 引擎),对于表来说,碰巧有一列有它的 DEFAULT。数据库连接到 Java 后端(使用 JPA 和 Hibernate)。强制 JPA 不尝试为表列 DEFAULT 生成的主键插入 ID 的正确方法是什么?

我试过下面的设置,但不幸的是我没有运气:

提前感谢您的任何建议🙂

我试图在互联网和文档中搜索解决方案,但不幸的是,没有成功。

java postgresql hibernate jpa mapping
1个回答
0
投票

假设这是Hibernate6(你还没有说明),你要找的注解是

@Generated
,这里记录了它:

https://docs.jboss.org/hibernate/orm/6.2/javadocs/org/hibernate/annotations/Generated.html

我还在推特上发了一个几乎和你的例子一模一样的例子:

https://twitter.com/1ovthafew/status/1645796021585457153

所以,像这样的东西:

    
@Entity
public class Entity {
        
    @Generated @Id
    @ColumnDefault("gen_random_uuid()")
    @Column(name = "id_assignment")
    UUID idAssignment;
}

应该工作。

© www.soinside.com 2019 - 2024. All rights reserved.