我有一个带有一些数据字段的类:
class Call{
roomId
roomDisplay
roomLocation
typeId
name
staffAidId
}
现在我想在java中使用hibernate注释来映射它,但我使用的原始sql查询是这样的:
SELECT
c.roomId,
r.display,
r.location,
c.typeId,
c.staffAidId,
s.firstname,
s.lastname
FROM callalert c
JOIN staffmember s
LEFT JOIN roomGroup g ON g.groupId = s.roomGroupId
LEFT JOIN room r ON r.roomId = g.roomId
WHERE s.staffId = 4444 AND c.roomId = g.roomId
换句话说,有没有办法将其映射:有没有办法将不同表中的列映射到 1 个自定义类?该类不是 1 个表的直接表示,并且在涉及的所有表中,并非所有列都被使用
编辑
我尝试了视图解决方案:
使用上述查询创建了一个视图,然后我尝试使用 Netbeans 生成休眠类,并生成 2 个类:Calls 类和 Embeddable 类 CallId
搜索互联网后发生这种情况是因为hibernate需要一个主键所以它自己创建一个
如何确保只生成 1 个类?我如何给视图一个主键(一个好的主键将是基础表的主键之一)。我该如何设置?