hibernate复合主键查询主键不能为空的解决方案
2011-10-22 15:47
375 查看
实体类:
原配置:
修改后配置:
public class SubStationLog implements java.io.Serializable { private Long substationid; private String markDate; private String mark; //省去构造 set/get方法 }
原配置:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.adam.dev.entity.SubStationLog" table="POB_SUBSTATION_LOG" schema="JMJL"> <composite-id> <key-property name="markDate" type="string"> <column name="MARK_DATE" length="20" /> </key-property> <key-property name="substationid" type="long"> <column name="SUBSTATIONID" precision="10" scale="0" /> </key-property> </composite-id> <property name="mark" type="string"> <column name="MARK" length="10" /> </property> </class> </hibernate-mapping>
修改后配置:
<hibernate-mapping> <class name="com.adam.dev.entity.SubStationLog" table="POB_SUBSTATION_LOG" schema="JMJL"> <composite-id> <key-property name="substationid" type="long"> <column name="SUBSTATIONID" precision="10" scale="0" /> </key-property> </composite-id> <property name="markDate" type="string" > <column name="MARK_DATE" length="20" /> </property> <property name="mark" type="string"> <column name="MARK" length="10" /> </property> </class> </hibernate-mapping>显然是将联合主键中的markDate移到了<composite-id>标签对之外,这样便可以避免因为联合主键查询一查询条件为空,便不显示符合条件记录的情况。
相关文章推荐
- hibernate复合主键查询主键不能为空的解决方案
- [置顶] hibernate复合主键查询主键不能为空的解决方案
- Hibernate 复合主键(composite-id)查询
- 关于Hibernate的复合主键查询
- 解决使用Hibernate QBC复合查询含有联合主键映射关系实体的问题
- Hibernate复合主键查询
- Hibernate复合主键查询
- Hibernate主配置文件、映射配置文件以及复合主键查询
- Hibernate征途(七)之复合主键映射和集合映射
- JAVA hibernate中删除表遇到主键被外键引用,违反完整约束条件,不能删除的问题
- Hibernate之---复合主键
- hibernate整合遗留数据库之处理主键(映射自然键之非复合自然键)
- Hibernate复合主键映射
- hibernate中表的复合主键映射表
- 【hibernate】--- 复合主键映射和Component映射
- Hibernate的学习总结(复合主键)
- Mysql多个LEFT JOIN使用ORDER BY不能使用索引导致查询过慢的解决方案
- (九)Hibernate 的复合主键
- Hibernate的关联映射---6.1.9: 基于复合主键的关联关系
- Hibernate复合主键映射