java – JPA如何在@OneToMany关系的列上添加唯一约束,例如在用户名上添加
发布时间:2020-05-26 03:54:10 所属栏目:Java 来源:互联网
导读:我有一个代表网站和类用户的类网站.站点可以有多个用户. class Site { private int site_ID; @OneToMany // with a join table private ListUser users; // ...}class User { private int user_ID; private
|
我有一个代表网站和类用户的类网站.站点可以有多个用户. class Site {
private int site_ID;
@OneToMany // with a join table
private List<User> users;
// ...
}
class User {
private int user_ID;
private String name;
private String lastname;
private String username;
private String password;
}
我想允许所有网站上存在相同的用户名,但只允许一个网站存在. Site/User/username 1 /1 /username1 1 /2 /username2 2 /3 /username1 我怎样才能做到这一点? 解决方法让用户拥有站点参考:@ManyToOne(optional=false) private Site site; 现在将约束添加到用户: @Table(uniqueConstraints = {
@UniqueConstraint(columnNames = { "username","site" }))
} @Entity
public class User{
// etc
}
您还必须更改站点映射: @OneToMany(mappedBy="site") private List<User> users; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
