Hibernate 复合主键(composite-id)查询

 

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 >
            dot.gifdot.gif
        
composite-id >
class >
  Hibernate不允许无PrimaryKey的ORM,因此会独立生成此对象为ORM的PrimaryKey

 

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

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

  解决办法:可将composite-id标签里可能会为空的字段提取到composite-id外,
  将数据表所对应的POJO添加字段,字段为提取到composite-id标签外的字段属性

  HQL查询时直接用对应的类索引属性查询,无需经过第三方生成类。

转载于:https://www.cnblogs.com/BruceLeey/archive/2010/05/19/1738870.html

你可能感兴趣的:(Hibernate 复合主键(composite-id)查询)