我想将其转换为使用javax.persistence.criteria.criteriabuilder,但我不确定该怎么做,非常感谢您的帮助! SELECT * FROM User u INNER JOIN Teacher t ON t.emp_id = u.emp_id WHERE u.college_id=:college_id AND u.Book.sub_code=:sub_code AND t.lang=:lang
我想将其转换为使用javax.persistence.criteria.criteriabuilder,但我不确定该怎么做,非常感谢您的帮助! SELECT * FROM User u INNER JOIN Teacher t ON t.emp_id = u.emp_id WHERE u.college_id=:college_id AND u.Book.sub_code=:sub_code AND t.lang=:lang
1条答案
按热度按时间00jrzges1#
实体管理器的检索取决于您的框架和用例。该解决方案假定您
collegeId
,subCode
及lang
作为方法中的给定值。您可以为
User
你的口袋里有什么SELECT
创建一个Root
这节课。然后,你加入不同的班级。我想
Book
也是一门必修课,我也会参加。您不必提到应该在哪个id上进行连接,因为您已经提到哪个值是带有注解的id@Id
.不同的
WHERE
可以将条件添加到条件查询中。连系WHERE
条件,我将这些条件添加到列表中(以最终合并它们)。最后,您必须执行构造的查询。
上面的答案使用jpa元模型生成器来防止您将实际引用名称键入字符串。例如,电话
User_.TEACHER
为您提供引用Teacher
内部对象User
.下面的示例显示了合并到函数中的上述代码段。