Join without association in HQL

后端 未结 4 559
时光说笑
时光说笑 2020-12-08 06:31

Lets say I have two tables(A, B) like:

A {id, a, c}
B {id, b, c}

I have also their entities. I want to write an HQL so that the result set

相关标签:
4条回答
  • 2020-12-08 07:12

    You have to use the cross join notation:

    from A as table_a , B as table_b
    where table_a.c = table_b.c
    

    Of course there is no way to implement outer joins in this manner, so you might have some trouble if that's your case.

    For the analogous case with criteria refer to: hibernate-criteria-joining-table-without-a-mapped-association

    0 讨论(0)
  • 2020-12-08 07:13

    From Hibernate +5.1 version Hibernate introduced Join queries similar to SQL joins between unrelated entities.

    Ex. Select a,b From Table a join Table b on a.id=b.id where condition

    0 讨论(0)
  • 2020-12-08 07:20

    if you want to make outer join you can make sub query and manage OR operation ( it works for me ). it's make the query more complex and worst performant but works :-)

    0 讨论(0)
  • 2020-12-08 07:33

    if both the table are related to each other via foreign key then you can try this:

    let:

    A {id(primary key), a, c} B {id(foreign key), b, c}

    define a variable of type parent(A) with setter and getter in B class's pojo.after that you can write query in this way. let it 'AA'

    select tbl_b.a,tbl_a.a,tbl_b.b,tbl_a.b,tbl_b.c,tbl_a.c from B tbl_b inner join tbl_b.AA tbl_b
    
    0 讨论(0)
提交回复
热议问题