0
최대 절전 모드를 사용하여 일대 다 매핑에 하나의 문제가 있습니다.일대 다 분리 된 조건 자식 테이블을 기준으로 부모 테이블 가져 오기
나는 두 클래스, 사람 및 주소입니다. 사람이 주소로 매핑 됨 (일대 다) 주소가 "xxxx"인 모든 Person을 얻고 싶습니다. DetachedCriteria을 사용하여이 쿼리를 준비하는 방법 아래에 나는 나의 DAO 클래스에서 코드 조각을 추가했다. 그것을 완성하도록 도와주세요.
Person.java
@Entity
@Table(name="PERSON")
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="personId")
private int id;
@Column(name="personName")
private String name;
@OneToMany(cascade =CascadeType.ALL,fetch = FetchType.LAZY)
@JoinColumn(name="personId")
private Set <Address> addresses;
}
Address.java
@Entity
@Table(name = "ADDRESS")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "addressId")
private int id;
@Column(name = "address",nullable=false)
private String address;
@ManyToOne(cascade =CascadeType.ALL)
@JoinColumn(name="personId",nullable=false)
private Person person;
}
내 DAO
DetachedCriteria c = DetachedCriteria.forClass(Person.class);
List<Person> persnList =null;
/*here i want add some restriction for
fetch all person whose address = "abcd"
here address is collection. how to set restriction in it ?.
*/
persnList = getHibernateTemplate().findByCriteria(c);
System.out.println(persnList.size());
선택 * 사람의 경우 Address.address = "XXXX"; 이것을 구현하는 방법 DetachedCriteria?