您的位置:首页 > 其它

Hibernate复合主键查询

2014-04-16 10:03 447 查看
  Hibernate逆向生成无主键的数据表时产生的hbm如:

  <class name="class_name" table="table_name" schema="schema_name">

  <composite-id name="id" class="class_name">

  <key-property name="property_name" type="type_name">

  <column name="column_name" length="20" />

  </key-property>

  </composite-id>

  </class>

  Hibernate不允许无PrimaryKey的ORM,因此会独立生成此对象为ORM的PrimaryKey

  当需要查询此表,如果此对象中有任意一个字段为NULL,则整条记录都为NULL

  因为Hibenrate约束主键不能为空。

  解决办法:可将composite-id标签里可能会为空的字段提取到composite-id外,

  将数据表所对应的POJO添加字段,字段为提取到composite-id标签外的字段属性

  HQL查询时直接用对应的类索引属性查询,无需经过第三方生成类。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: