에 쿼리를 조인 작성하는 방법 나는 많은 두 콩 사용자 및 버추얼 도메인 (VirtualDomain)를 만든 최대 절전 모드를 통해 특정 도메인과 관련된 사용자 이름과 같은 사용자의 데이터를 얻을 수있는 방법 최대 절전 모드
@Entity
@Table(name = "tblUser")
public class User implements Serializable {
private Long id;
private String username;
private Set<VirtualDomain> virtualdomainset;
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name = "username", length = 50, nullable = false)
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
@ManyToMany(targetEntity = VirtualDomain.class, cascade = {CascadeType.PERSIST},fetch=FetchType.EAGER)
@JoinTable(name = "tblUserDomainRel", joinColumns = @JoinColumn(name = "userid"), inverseJoinColumns = @JoinColumn(name = "domainid"))
public Set<VirtualDomain> getVirtualdomainset() {
return virtualdomainset;
}
public void setVirtualdomainset(Set<VirtualDomain> virtualdomainset) {
this.virtualdomainset = virtualdomainset;
}
}
@Entity
@Table(name = "tblVirtualDomain")
public class VirtualDomain {
private Long id;
private String domainname;
private Set<User> userset;
@Id
@JoinColumn(name = "id")
@GeneratedValue(strategy = GenerationType.AUTO)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name = "domain_name")
public String getDomainname() {
return domainname;
}
public void setDomainname(String domainname) {
this.domainname = domainname;
}
@ManyToMany(cascade = {CascadeType.ALL},fetch=FetchType.EAGER, mappedBy = "virtualdomainset", targetEntity = User.class)
public Set<User> getUserset() {
return userset;
}
public void setUserset(Set<User> userset) {
this.userset = userset;
}
}
관계
많은합니다.
안녕 블레이크. 제발 도와주세요 이 쿼리를 사용하면 java.lang.NoSuchMethodError 오류가 발생합니다 : org.hibernate.hql.antlr.HqlBaseParser.recover (Lantlr/RecognitionException; Lantlr/collections/impl/BitSet;) V – Jugal
' 쿼리를 편집했는데 쿼리에 사용자가 없어야합니다. –
편집 된 쿼리는 괜찮은 것처럼 보이지만 사용자의 사용자 이름 필드 만 입력하면됩니다. select u.username과 같은 select 절을 추가하면 오류가 발생합니다. org.hibernate.QueryException : 쿼리가 조인을 조인하도록 지정되었지만 페치 된 연결의 소유자가 아닙니다. 선택 목록에 있음 – Jugal