|
|
|
|
|
|
Running
{code} SELECT KEY(r) FROM Foo f JOIN f.addresses r {code}
with map key type {{AddressType}} and value type {{Address}} causes the columns of {{ AddressType Address }} to be selected instead of the value key columns.
Entities:
{code} @Entity public class User {
@Id @GeneratedValue long id;
@OneToMany(cascade=CascadeType.ALL) Map<AddressType, Address> addresses = new HashMap<AddressType, Address>(); } {code}
{code} @Entity public class AddressType {
@Id @GeneratedValue long id;
String addressType; } {code}
{code} @Entity public class Address {
@Id @GeneratedValue long id;
String street; } {code}
Generated SQL:
{code} select address2_.id as id1_0_, address2_.street as street2_0_ from User user0_ inner join User_Address addresses1_ on user0_.id=addresses1_.User_id inner join Address address2_ on addresses1_.addresses_id=address2_.id {code}
|
|
|
|
|
|