Java JPA:列在其父级中应该是唯一的。
我有两张桌子:Java JPA:列在其父级中应该是唯一的。,java,hibernate,jpa,unique,Java,Hibernate,Jpa,Unique,我有两张桌子: @Entity public class A implements Serializable { @Column @NotNull @Size(min = 1) @Pattern(regexp = "[A-Za-z]{1}[A-Za-z0-9_]*") private String token; @ManyToOne(optional = true) @JoinColumn(name = "b_id", referencedColumnName = "id")
@Entity
public class A implements Serializable {
@Column
@NotNull
@Size(min = 1)
@Pattern(regexp = "[A-Za-z]{1}[A-Za-z0-9_]*")
private String token;
@ManyToOne(optional = true)
@JoinColumn(name = "b_id", referencedColumnName = "id")
private B b;
...
}
@Entity
public class B implements Serializable {
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL, mappedBy = "b")
private List<A> a;
...
}
实体A中的令牌在实体B中应该是唯一的。
例如,B1中有一个令牌1,B2中也有一个令牌1,但可以
是B1内的第二个标记1
我将JPA与Hibernate一起使用
我如何做到这一点 通过在外键和令牌的组合上创建
在实体A上,类似于以下内容:
@Table(
name="a",
uniqueConstraints={
@UniqueConstraint(columnNames={"b_id", "token"})
}
)
@Entity
public class A implements Serializable {
// ...
}
工作!谢谢!