欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HIbernate 查询建立在两张表上的视图,数据丢失的问题 Hibernate 

程序员文章站 2022-06-12 10:02:05
...
我的问题与相同:http://www.iteye.com/topic/57823

表是按年份分的,例如XXX2006,XXX2007
为了查询方便,建立一个视图XXX,就是简单的
select * from XXX2006 union all  select * from xxx2007

建立配置文件,将视图的所有列全部作为复合主键
建立POJO,也是只有一个id,在id里才是所有列

然后查询的时候,在日志里能显示出查询的结果

但是在返回List的时候,却只有一部分,有一部分为null,不知道什么原因。

如果不用视图,只用单个表,就无此问题。



有两张表,用union all接起来的视图,那么在hibernate中,视图的映射会把所有的字段作为复合型的主键映射到hibernate中,其中如果其中,只要有一个字段为空值,查询出来的此条记录结果就会整个地为空。
网上提供的办法:修改映射的复合型主键,将两张表的主键合起来作为复合型主键,其余字段作为普通值
相关标签: Hibernate