가입 조건의 쿼리 수행최대 절전 모드 기준은
1
내가 같은 두 개의 클래스가 있습니다
A
답변
1
하이버 네이트는 일반적으로 SQL 쿼리에서와 같이 Criteria
을 통해 "주문형"조인을 허용하지 않는다. However, this appears to indeed be possible using a work-around of having multiple Criterias.
그러나 당신이 당신의 Entity
클래스의 관계를 매핑하는 알렉스의 제안을 따른다면 Customer
이미에 "매핑"는 account
객체 것이다, 당신은이 같은 Criteria
훨씬 간단하게 만들 수 있습니다
Criteria criteria = session.createCriteria(Customer.class)
.createCriteria("account")
.addOrder(Order.asc("accountType"));
을
연결을 수행하려면 Entity
클래스에서 refId
필드를 관련 개체로 바꿀 수 있습니다. 이 일대일 관계였다 가정
@Entity
public class Customer {
// Instead of "refId" field:
@OneToOne(mappedBy = "customer")
private Account account;
}
@Entity
public class Account {
// Instead of "refId" field:
@OneToOne
@JoinColumn(name = "refIdColName")
private Customer customer;
}
: 그래서, Customer
클래스에서, 당신은 같은 (또는 그 반대), Account
오브젝트 관련있을 수 있습니다. You don't need to reference the primary key in one-to-one mapping.
1
주어진 링크 (DetachedCriteria)가 예상대로 작동하고, refId가 원하는대로 수행되고 있습니다. 옵션이 없지만 그렇게 진행합니다. 어쨌든 고마워. – bdogru