【发布时间】:2016-09-20 16:33:25
【问题描述】:
例如,假设我有以下数据库表
Building
-----------
id
name
和
Room
-----------
id
roomNo
buildingId
Building Java 类看起来像
@Entity
public class Building {
private int id;
@OneToMany private List<Room> rooms;
...
我有以下 SQL 来获取建筑物
SELECT b.id,
b.name,
r.id AS rid,
r.roomNo
FROM Building b
LEFT JOIN Room r ON
b.id = r.buildingId
结果是
id, name, rid, roomNo
---------------------
1, 'b1', 10, 'r100'
1, 'b1', 11, 'r101'
2, 'b2', 12, 'r10'
请注意,由于一对多的关系,存在重复的建筑物。
我知道我可以简单地使用 JPQL 来获取 Building 实体,但我想使用本机 SQL 来做到这一点。那么如何使用 JPA 的 @SqlResultSetMapping 将上面的结果映射回 Building 类?
【问题讨论】:
-
你找到解决这个程序的方法了吗?恐怕我一直在采用低于标准的解决方案来满足最后期限。
-
我认为这在 JPA 中是不可能的。