我有一个包含一些数据字段的课程:
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生成hibernate类 我生成了2个类: 类Calls和Embeddable类CallId
在搜索互联网之后,这种情况发生了,因为hibernate需要一个主键,所以它自己创建了一个如何确保只生成1个类? 如何为视图提供主键(一个好的主键将是基础表的主键之一)。我该如何设置?