标签:java database annotations hibernate
我无法弄清楚为什么这个查询没有给我任何结果.我知道表中存在数据.
执行查询时,列表变量“results”为空.我正确实现了复合键吗?
我甚至尝试使用@EmbeddedId来完成此操作,但返回的列表仍然是空的.
Session sess = HibernateUtil.getSession();
Criteria criteria = sess.createCriteria(Employee.class);
criteria.add(Restrictions.eq("employeeId", 255847208));
criteria.add(Restrictions.eq("serialId", 461));
List<Employee> results = criteria.list();
主键类
public class EmpPrmryKey implements Serializable {
private Integer employeeId;
private Integer serialId;
//getters and setters
}
POJO映射到表:
@Entity
@IdClass(EmpPrmryKey.class)
@Table(name = "EMPLOYEE")
public class Employee{
private EmpPrmryKey compositeId;
@Id
@Column(name = "employee_id")
private Integer employeeId;
@Id
@Column(name = "serial_id")
private Integer serialId;
//getters and setters
}
解决方法:
对于那些仍在寻找这个问题答案的人,请检查你的hibernate配置xml,并确保你的hibernate实体在那里声明.
标签:java,database,annotations,hibernate 来源: https://codeday.me/bug/20190703/1367185.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。