[英]How to get object from nested entities in Spring/JPA/Hibernate?
我有这个实体:
public class AnswerEntity {
@ManyToOne
private UserEntity user;
@ManyToOne
private AnswerDirectoryEntity answer;
@ManyToOne
private QuestionEntity question;
}
public class QuestionEntity {
@ManyToOne
private QuestionnaireEntity questionnaire;
}
public class QuestionnaireEntity {
private String code;
}
我需要通过user ID
和来自QuestionnaireEntity
的相应code
获取所有用户答案。
我通过创建这样的查询来做到这一点:
List<AnswerEntity> answerList = answerRepository.findAllByUserId(userId);
并遍历我列表中的每个 object 并使用equals
我将每个 object 与我的问卷代码进行比较:
for(AnswerEntity answerEntity : answerList){
if(answerEntity.getQuestion().getQuestionnaire().getCode().equals(questionnaireId)){
///
}
但是这个解决方案非常慢,因为它必须从我的数据库中迭代每个 object,
谁能告诉我如何在我的存储库中创建一个可以帮助我的query
?
您可以在存储库中使用 JPA 方法查询这种方式
List<AnswerEntity> findByUserIdAndQuestionQuestionnaireCode(Integer userId, String code);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.