jpa本机查询检索多个实体

时间:2015-05-13 14:17:26

标签: java mysql jpa sqlresultsetmapping

我有一个包含4个表的数据库:

company,staff,department,project

Company.java

@Entity
@Table(name = "company")
@SqlResultSetMapping(name = "COMPANY", entities = 
{
    @EntityResult(entityClass = Company.class),
    @EntityResult(entityClass = Staff.class)
})
...

GetEntity.java

EntityManagerFactory emf = Persistence.createEntityManagerFactory("GetEntityPU");
EntityManager em = emf.createEntityManager();

String query = "SELECT * 
                FROM company c 
                JOIN staff s 
                ON c.ID = s.companyID";
Query q = em.createNativeQuery(query, "COMPANY");
List<Object[]> list = q.getResultList();

从上面的代码中,我可以从Company实体和Staff实体中检索所有数据。

现在我想从任意2个表中检索所有数据:
也许公司的所有数据,员工表 OR 员工,部门表的所有数据

我应该如何控制查询中的每个实体?
我真的不知道怎么做。
欢迎任何想法或有用的源链接。

1 个答案:

答案 0 :(得分:0)

将查询映射到bean可以帮助您,请查看:query to bean