`
zy19982004
  • 浏览: 654186 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
F6f66edc-1c1a-3859-b76b-a22e740b7aa7
Hadoop学习
浏览量:249812
社区版块
存档分类
最新评论

Hibernate学习四:Hibernate对视图联合主键的处理

阅读更多

一.mysql基本知识

  1. 主键必须唯一且非空。
  2. 联合主键中的任何一个键也必须非空,一组联合主键必须唯一。
  3. mysql视图没有索引,没有主键,没有外键。

二.Hibernate对视图的处理

  1. MyEclipse Persistence Tools在生成视图的pojo的时候,发现视图里面没有主键,于是乎把所有的字段作为一个联合主键。
  2. 这样是说不通的:
    1. 视图是对基类数据的另外一种表达,基类里有一个id是主键;但由于hibernate的原因,不得不将视图里id外的字段也作为主键,造成了联合主键。明显视图和基类结构都不一样了。
    2. hibernate查询的时候,如果联合主键中一个为null,查询出来的结果就是null,这对普通表和视图都是一样。显然,你不能保证视图里除id外的其它字段都不为空。

三.解决方案

  1. 视图的pojo按照基表的主键或者联合主键来配置。
  2. 如果还达不到你的目的,自己拼凑一个字段作为视图pojo主键。demo就参考这个http://blog.csdn.net/sl_nevergiveup/article/details/7077955

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics