有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate条件内部联接查询

有人知道如何使用Hibernate条件编写以下sql查询吗:

select log1.Status, nm.TransactionId,* from NonMemberTransaction nm
inner join
(
    SELECT status,NonMemberTransactionId
    FROM MessagingLog m1
    WHERE CreatedDate = (select max(CreatedDate) from MessagingLog m2 where m1.NonMemberTransactionId=m2.NonMemberTransactionId)
) log1
on nm.TransactionId=log1.NonMemberTransactionId

谢谢


共 (1) 个答案

  1. # 1 楼答案

    这是可能的,但我建议不要这样做。Hibernate是一个持久性框架,但您的sql是特定于语言的,并且是只读的

    我建议使用数据库view,因为

    • 表现
    • 敏捷性
    • 不再针对语言
    • 程序员易于理解

    可选您可以为视图编写一个hibernate实体

    您所拥有的查询模型是关于数据库的信息,所以它是database itself的显著任务