java

位置:IT落伍者 >> java >> 浏览文章

Hibernate复合主键查询


发布日期:2023年11月14日
 
Hibernate复合主键查询

Hibernate逆向生成无主键的数据表时产生的hbm如

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

<compositeid name=id class=class_name>

<keyproperty name=property_name type=type_name>

<column name=column_name length= />

</keyproperty>

</compositeid>

</class>

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

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

因为Hibenrate约束主键不能为空

解决办法可将compositeid标签里可能会为空的字段提取到compositeid外

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

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

上一篇:Spring整合Quartz定时发送邮件

下一篇:spring在web.xml中和在struts中的不同配置