1
이 sql-query가 있습니다. JPQL에서 쿼리로 만들고 싶지만 올바르게 만들 수는 없습니다. 나는 QuestionAnswers과 QuizQuestions 사이 manytoone 관계를 가지고 :하나의 JPQL 쿼리를 사용하여 여러 테이블 조인
SQL :
SELECT quizName, question, answer FROM Quiz
JOIN QuizQuestions on Quiz.quizId = QuizQuestions.Quiz_QuizId
JOIN QuestionAnswers on QuizQuestions.questionId = QuestionAnswers.question_questionId
WHERE quiz.quizId = 1;
JPQL 쿼리 :
Query query = entityManager.createQuery("SELECT q.quizName, f.question, a.answer FROM Quiz q, QuizQuestions f, QuestionAnswers a LEFT JOIN QuestionAnswers ON f.questionId=a.question.questionId");
내가 인 IntelliJ에서 구문 오류가 발생합니다.
무엇이 잘못 될 수 있습니까? EclipseLink가
를 사용
임 그냥 하나 같이 그것을 해결 EDIT 가입 :
SELECT quiz.name, quizquestion.question, questionasnswer.answer FROM Quiz quiz
JOIN quiz.quizQuestions quizquestion
JOIN quizquestion.questionAnswers questionasnswer
WHERE quiz.id = 1;
I : 아마
Query query = entityManager.createQuery("SELECT f.quiz.quizName FROM QuizQuestions f JOIN QuestionAnswers qa WHERE f.questionId = qa.question.questionId");
글쎄, JPQL에서 조인이 작동하는 방식이 아닙니다. JPQL에 대한 몇 가지 문서를 읽으십시오. 예를 들어 "JPQL join"을 검색하면 [this] (https://en.wikibooks.org/wiki/Java_Persistence/JPQL#JOIN) 또는 [this] (https://docs.jboss.org/hibernate)로 연결됩니다. /orm/current/userguide/html_single/Hibernate_User_Guide.html#hql-explicit-join). 조인의 작동 방식을 설명합니다. –
감사. 나는 그 링크들도 보았다. 그래도 여전히 문제가 발생했습니다. 내 검색어를 편집하는 방법에 대한 힌트가 있습니까? 감사합니다 – acroscene
안녕하세요! 엔티티의 코드를 보여줍니다. QuizQuestions 및 QuestionAnswers – Dherik