2014-03-28 5 views
0

У меня есть два стола объект:JPA ManyToOne параметры сложения

@Entity 
@Table(name = "TEST_PARENT") 
public class Parent{ 
    @Id 
    Long id; 

    @Column(name = "PARENT_CONTRACT_ID") 
    Long parentContractId; 

    //getters and setters  
} 

-

@Entity 
@Table(name = "TEST_CHILD") 
public class Child{ 
    @Id 
    Long id; 

    @ManyToOne() 
    @JoinColumn(name = "PARENT_ID", referencedColumnName = "PARENT_CONTRACT_ID") 
    Parent parent; 
} 

Есть ли способ, чтобы получить родителя с максимальным ID (или сделать заказ выбрать для ПОЛУЧИТЬ родителя) для этого данные таблицы:

**TEST_PARENT** 
ID PARENT_CONTRACT_ID 
1 100 
2 100 
3 200 

**TEST_CHILD** 
ID PARENT_ID 
1 100 

Запрос: «от ребенка t, где t.id = 1»;

Результат запроса Детский класс:

{Id = 1

Родитель - ID = 2, PARENT_CONTRACT_ID = 100 }

+0

Что вы подразумеваете под ..... «Есть ли способ получить родителя с максимальным ID ..?» ...... Родитель с большинством детей ??? – Jay

+0

Я хочу выбрать родительский элемент следующим образом: «выберите max (t.ID) от TEST_PARENT t« не так: «выберите * из TEST_PARENT t, где t.id = 1" – user1028269

ответ

0

Запрос будет:

SELECT max(c.id) FROM Child c 

И вы можете использовать это из своего EntityManager следующим образом:

Long max = em.createQuery("SELECT max(c.id) FROM Child c", Long.class).getSingleResult(); 
Смежные вопросы