表格如下所示:为简单起见,我跳过几列
ColumnnID ColumnA ColumnB
1 1 A
2 1 B
3 2 C
4 3 C
表映射到实体MyClass
class MyClass {
@Id
private long columnId;
@column(name = "columnA")
private long columnA;
@column(name = "columnB")
private long columnB;
}
执行简单查询(条件)后,我的hibernate实体看起来不像这样
Criteria criteria = this.getSessionFactory().getCurrentSession()
.createCriteria(MyClass.class);
和结果:
data: {
myClass : {
columnId: 1
columnA: 1
mapColumnB : [
A,
B
],
},
myClass : {
columnId: 3
columnA: 2
mapColumnB : [
C
],
},
myClass : {
columnId: 4
columnA: 3
mapColumnB : [
C
],
}
}
有什么想法吗?需要在实体内进行映射。
如果我能做到并且只能逐行获取,那么在Java中重建列表到我需要的演示文稿的有效方法是什么?
答案 0 :(得分:0)
编辑:答案是针对原始问题(在帖子所有者(提问者)编辑问题之前!!)并且它不适用于当前版本的问题!!!
您提到的预期结果不 实体,它可能是 criteria
或 hql
查询。
您可以根据数据/表格/查询编写实体,但您需要为实体提供Id
(从唯一字段映射( s)),并且由于您的示例数据没有唯一列,因此您无法添加额外的列( PK / Unique )到表格或者您必须使用Id
的复合键,我的意思是对(ColumnA and ColumnB)
使用Id
的组合,只需要做一点搜索你,看看怎么做;只要您这样做,您就可以在没有任何复杂的条件或 hql 查询的情况下获得预期的结果。