关于hibernate我想大家都不会陌生,是一个很老的用户比较多的对象关系映射的框架,那么大家一定知道,对应每一个实体类都会有一个配置文件。
而前两天我遇到的问题,就和配置文件有关。
准确的说是跟这个配置文件中配置主键有关。
真的很坑,很坑啊!
hibernate的实体类配置文件中一定要有相应实体类对应的主键,且这个主键不唯一。
那么如果他对应的是数据库表,那么该表一定有一个主键,这不是问题。
那么如果对应的视图呢?
当然,hibernate也有办法,就是启用联合主键。如下图
但是这种方式存在一个问题,如果联合主键中有一个主键的值为空,那么久查不出他为空的数据,
但是返回结果还要求有这条数据。
所以我只能使用sql中的case 方式将主键为空的值赋一个默认值来解决。
最后问题解决了,可以这种方式的确暴露了hibernate针对视图的问题,如果您也遇到了这种问题,很期待您的解决方式。
网友评论