因为我的数据库是很久之前的老表,所以没有建主键,我就用这个表中的2个字段做联合主键。
<?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.efesco.employee.model.FsGetbackpwdMail" table="FS_GETBACKPWD_MAIL" schema="programmer">
<composite-id>
<key-property name="regNo" type="java.lang.String" >
<column name="REG_NO" length="10" />
<!-- <generator class="sequence" />-->
</key-property>
<key-property name="mailTime" type="java.util.Date">
<column name="MAIL_TIME" length="7" />
</key-property>
</composite-id>
<property name="ip" type="java.lang.String" not-null="false">
<column name="IP" length="15" />
</property>
<property name="enStr" type="java.lang.String" not-null="false">
<column name="EN_STR" length="64" />
</property>
<property name="mail" type="java.lang.String" not-null="false">
<column name="MAIL" length="100" />
</property>
<property name="updateTime" type="java.util.Date" not-null="false">
<column name="UPDATE_TIME" length="7"/>
</property>
<property name="valid" type="java.lang.String" not-null="false">
<column name="VALID" length="1" />
</property>
<property name="ipUpdate" type="java.lang.String" not-null="false">
<column name="IP_UPDATE" length="15" />
</property>
<property name="userName" type="java.lang.String" not-null="false">
<column name="USER_NAME" length="20" />
</property>
</class>
</hibernate-mapping>
上面是配置文件。
我在dao里面用hql按条件查询,查询的hql为from FsGetbackpwdMail where enStr=? and valid='1'。
但是查询的时候有2条数据满足条件,我跟踪调试,集合里面的2条是一模一样的。我将hql生成的sql语句给定条件到数据库里面查询条数是符合,就是查询的时候list集合里面的数据hql是重复的。不知道联合查询为什么按条件查询对象会出现这种情况。
Hibernatesshhql
<?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.efesco.employee.model.FsGetbackpwdMail" table="FS_GETBACKPWD_MAIL" schema="programmer">
<composite-id>
<key-property name="regNo" type="java.lang.String" >
<column name="REG_NO" length="10" />
<!-- <generator class="sequence" />-->
</key-property>
<key-property name="mailTime" type="java.util.Date">
<column name="MAIL_TIME" length="7" />
</key-property>
</composite-id>
<property name="ip" type="java.lang.String" not-null="false">
<column name="IP" length="15" />
</property>
<property name="enStr" type="java.lang.String" not-null="false">
<column name="EN_STR" length="64" />
</property>
<property name="mail" type="java.lang.String" not-null="false">
<column name="MAIL" length="100" />
</property>
<property name="updateTime" type="java.util.Date" not-null="false">
<column name="UPDATE_TIME" length="7"/>
</property>
<property name="valid" type="java.lang.String" not-null="false">
<column name="VALID" length="1" />
</property>
<property name="ipUpdate" type="java.lang.String" not-null="false">
<column name="IP_UPDATE" length="15" />
</property>
<property name="userName" type="java.lang.String" not-null="false">
<column name="USER_NAME" length="20" />
</property>
</class>
</hibernate-mapping>
上面是配置文件。
我在dao里面用hql按条件查询,查询的hql为from FsGetbackpwdMail where enStr=? and valid='1'。
但是查询的时候有2条数据满足条件,我跟踪调试,集合里面的2条是一模一样的。我将hql生成的sql语句给定条件到数据库里面查询条数是符合,就是查询的时候list集合里面的数据hql是重复的。不知道联合查询为什么按条件查询对象会出现这种情况。
Hibernatesshhql
解决方案 »
- 求教:谁知道这个svn图标的意思?
- action中用session保存姓名的数组,用于登陆?
- 用了spring管理实例 还需要用单利模式吗?
- myfaces问题:页面中触发按钮的actionListener时tomcat报错,提示找不到方法
- Struts2中Struts ValueStack Debug和Stack Context到底是什么样的关联
- 求一正则表达式
- 着急啊 surtus2所有的包都引了 但是找不到 FilterDispatcher 希望高人帮忙解决
- hibernate小问题
- 广告机程序写个审核广告的功能,可以怎么写
- JSP+JAVABEAN+DB是否=J2EE?
- List<Map<Title, List<TitleSon>>>转换json格式
- maven工程导入eclipse问题
List list=queryByHql2(hql,new Object[]{enStr});
return list;这个方法就是 return getBHibernateTemplate().find(hql, args);
就是根据这个来查询,得到List集合的。
queryByHql2就是return getBHibernateTemplate().find(hql, args);这个方法。
这样试下。
getBHibernateTemplate().find(hql, args);这个方法吗?