1
나는이 상황에 문제가있다. (더 쉽게하려고 노력할 것이다.) 역할 목록과 상태 목록을 가진 내 DB에 사용자가있다. Hibernate Criterion - 더 많은 테이블 간의 조인
public class User implements Serializable {
@ManyToMany(cascade = CascadeType.ALL, fetch= FetchType.LAZY)
@JoinTable(name = "role_to_user",
joinColumns={@JoinColumn(name = "user_id")},
inverseJoinColumns={@JoinColumn(name = "role_id")})
private Set<Role> roles = new LinkedHashSet<Role>();
@ManyToMany(cascade = CascadeType.ALL, fetch= FetchType.LAZY)
@JoinTable(name = "status_to_user",
joinColumns={@JoinColumn(name = "user_id")},
inverseJoinColumns={@JoinColumn(name = "status_id")})
private Set<Status> statuses = new LinkedHashSet<Status>();
}
나는 특정 역할과 상태로 (후 역할 테이블과 상태 테이블과 조인) 사용자를 반환 할 abble했던 최대 절전 기준을 만들려고하고 있습니다. 뭔가 같은 : 뭔가를 봤 지금은 단지 특정 역할과 나에게 사용자를 반환하는 쿼리를 만들 수 있지만 = 1
역할 = 1 또는 역할 = 2와 상태
반환 사용자 상태.
Criteria cr = session.createCriteria(User.class) .createCriteria("roles") .add(Restrictions.or(Restrictions.eq("roletype", 1), Restrictions.eq("roletype", 2)));
표 사용자 및 역할은 status_to_role 테이블을 통해 유사 같은 방법으로 테이블의 사용자와 상태에있는 두 개의 열 (USER_ID, ROLE_ID)로 role_to_user 테이블을 통해 통보 :
감사합니다. 완벽하게 작동합니다. – s0vet
그런 다음 대답을 수락 하시겠습니까? 예? – ant
감사합니다. 내 시간을 절약하십시오! :) – T8Z