Я использую Hibernate с критериями.Как установить режим выборки для получения одного результата из коллекции в спящем режиме?
У меня есть модель Java, определенная следующим образом:
@Entity
@Table(name = "questionask", uniqueConstraints = @UniqueConstraint(columnNames = "code"))
public class QuestionAsk extends LobEntity implements Comparable<Object> {
@OneToMany(fetch = FetchType.LAZY, mappedBy = "questionAsk")
private List<Answer> answerList = new Arraylist<Answer>(0);
//getters and settes
..
}
Если я хочу получить список ответов с выбранными данными, я установил;
criteria.setFetchMode(property, FetchMode.JOIN); //This works .
Но мое требование: я хочу получить некоторые записи из коллекции, когда пользователь запрашивает. То есть, когда пользователь вводит следующий запрос, (В answerList каждый ответ имеет code
атрибут)
answerList.code=an_123
Я хотел бы, чтобы получить answerList с этим единственным ответом. Но это не работает для меня. (означает, что он не запрашивает список ответов, который я определил как ленивый Загрузка)
Я пробую, criteria.setFetchMode (answerList, FetchMode.JOIN); с другими необходимыми joins
и ins
.
Как я могу это сделать с помощью критериев? Поддерживает ли Hibernate это?