以下代码投掷: nonuniqueobjectexception
。
但是当我使用时: @GeneratedValue(strategy = GenerationType.IDENTITY)每件事情都能正常运转。
@Entity
@Table(name="CART")
public class Cart {
@Id
@Column(name="cart_id")
private long id;
@Entity
@Table(name="ITEMS")
public class Items {
@Id
@Column(name="id")
private long id;
我想了解为什么它失败了,使用了hibernates的默认ID生成策略。
答案 0 :(得分:0)
如果操作会破坏会话范围的标识,则会抛出非唯一性的异常异常。
如果用户尝试在同一个Session的范围内将同一Java类的两个不同实例与特定标识关联,则会发生这种情况。
这也可能意味着Hibernate无法生成唯一ID。
说过总是建议使用提供的GeneratedValue类型。
as
id = ggggg4g5h55hh6hhh7h7
更复杂
id = 2
此链接将帮助您更好地理解它。