Hibernate @Id和oracle唯一约束

时间:2016-07-19 09:49:48

标签: oracle hibernate

我可以在唯一约束上使用带有@Id的hibernate实体而不是oracle数据库上的主键吗?它也将符合JPA标准吗?

1 个答案:

答案 0 :(得分:1)

听起来有点奇怪,但似乎有可能: http://www.objectdb.com/api/java/jpa/Id

应用Id注释的字段或属性应为以下类型之一:任何Java基元类型;任何原始包装类型;串; java.util.Date; java.sql.Date; java.math.BigDecimal的; java.math.BigInteger。

但要注意: (1)例如在Oracle UNIQUE中并不意味着NOT NULL,你必须自己确保这一点。 (2)您不能在数据库中使用FOREIGN KEY约束。 (3)如果要插入新实体(不仅要读取现有实体),还必须注意Id生成(http://www.objectdb.com/api/java/jpa/GeneratedValue)。 (4)如果插入新实体,则必须为DB id生成一个值。

这只是我脑海中浮现的一些缺点......