2014-03-28 68 views
0

我有两个表单位:JPA多对一除了参数

@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 

查询选择:“from Child t where t.id = 1”;

查询结果儿童类:

{ID = 1个

父 - ID = 2,PARENT_CONTRACT_ID = 100 }

+0

你是什么意思.....“有什么办法让父母获得最大ID ..?” ......大多数孩子的父母? – Jay

+0

我想选择像这样的父代: “从TEST_PARENT选择最大(t.ID)t” 不是这样的: “select * from TEST_PARENT t where 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();