非常感谢您对 JPA 的建议。我们有一个数据库(PostgreSQL 引擎),对于表来说,碰巧有一列有它的 DEFAULT。数据库连接到 Java 后端(使用 JPA 和 Hibernate)。强制 JPA 不尝试为表列 DEFAULT 生成的主键插入 ID 的正确方法是什么?
我试过下面的设置,但不幸的是我没有运气:
提前感谢您的任何建议🙂
我试图在互联网和文档中搜索解决方案,但不幸的是,没有成功。
假设这是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;
}
应该工作。