좋은 문제가 있습니다. 나는 문맥을 재개 할 것이다.JPA 사용자 이름처럼 @OneToMany 관계에 대한 열에 고유 컨트리먼트를 추가하는 방법
나는 웹 사이트를 나타내는 클래스 : Site
과 클래스 User
을 가지고 있습니다.
사이트에는 여러 명의 사용자가있을 수 있습니다.
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
어떻게하면됩니까?
감사
영업 이익은 그가 그의 OneToMany에 대한 조인 테이블을 사용하고 싶어했다. 더욱이, 비록 그가 외래 키를 원한다고하더라도, id는 이미 유일하기 때문에 당신의 유일한 제약은 유용하지 않습니다. (id/site가 항상있을 것이라는 것을 보장합니다.) –
@JB Nizet : a) 확실히, 그는 조인 테이블이 맞다고 생각합니다. 할 일이지만, 나는 그것을 사용하지 않을 것을 제안합니다. (이 경우에 어떤 의미도없는 것처럼 보입니다) b) 그것은 내 오류였습니다. user_id가 아닌 username을 의미했습니다. (고정 된) –
Thks, 나는 그것을 시도 할 것입니다. 오늘 밤. 그래서 그렇게하고 싶다면 내 User 객체에 Site에 대한 참조를 유지해야합니까? 처음에는 부모님이 모르는 사이에 아이들을 지키고 싶었습니다. 나는 나쁜 사람이라는 것을 알고 있습니다. –