Hibernate查询视图的郁闷
时间:2011-12-16
来源:互联网
我建了一个视图,在hibernate对其进行映射的时候使用了复合主键。
该复合主键中包含三个字段,但是在有些记录中,这三个字段中的某个字段是null,所以当hibernate查询的时候,对应该行的整个实体就被置为null了。
看网上有的方法是把复合主键中有可能为null的字段,放到复合主键外面来,但是我这是个视图,只有使用这三个字段才能唯一确定一条记录。
在创建视图的时候使用了group by ,在视图中也不会显示原来表的主键。
我该怎么办,求高手指点。
该复合主键中包含三个字段,但是在有些记录中,这三个字段中的某个字段是null,所以当hibernate查询的时候,对应该行的整个实体就被置为null了。
看网上有的方法是把复合主键中有可能为null的字段,放到复合主键外面来,但是我这是个视图,只有使用这三个字段才能唯一确定一条记录。
在创建视图的时候使用了group by ,在视图中也不会显示原来表的主键。
我该怎么办,求高手指点。
作者: sl_nevergiveup 发布时间: 2011-12-16
有 null 值也能当主键?
作者: qianjin036a 发布时间: 2011-12-16
引用 1 楼 qianjin036a 的回复:
有 null 值也能当主键?
有 null 值也能当主键?
但是如果不把可能为null的这个字段包含进来,其它的两个字段是不能唯一确定一条记录的。
比如:
年份 院系 姓名 获奖数量
------------------------------------
2010 CS Lucy 4
2010 CS 5
我想知道某年某院系的某位老师的奖励数,由于遗留数据的问题,就是有某些记录,老师姓名这个字段有的为Null,但是也要查出来。这样如果不把姓名这个字段包含尽力,怎样区分上面的两条记录呢。
作者: sl_nevergiveup 发布时间: 2011-12-16
不过我现在有办法了,在创建视图的时候,再创建一列ID为:年份||院系||姓名
作者: sl_nevergiveup 发布时间: 2011-12-16
引用 3 楼 sl_nevergiveup 的回复:
不过我现在有办法了,在创建视图的时候,再创建一列ID为:年份||院系||姓名
不过我现在有办法了,在创建视图的时候,再创建一列ID为:年份||院系||姓名
这样有空值还是不能为主键啊
作者: fredrickhu 发布时间: 2011-12-16
引用 4 楼 fredrickhu 的回复:
引用 3 楼 sl_nevergiveup 的回复:
不过我现在有办法了,在创建视图的时候,再创建一列ID为:年份||院系||姓名
这样有空值还是不能为主键啊
引用 3 楼 sl_nevergiveup 的回复:
不过我现在有办法了,在创建视图的时候,再创建一列ID为:年份||院系||姓名
这样有空值还是不能为主键啊
虽然有某个字段有时候为null,但是只要保证这三个字段至少有一个不为null就可以呀,刚才试了下,完全可以。
当然,如果哪天这群SB真弄出这样一条数据出来,那就怪不得俺了……
作者: sl_nevergiveup 发布时间: 2011-12-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28