Hibernate遇到的奇怪问题的解决

Hibernate使用发现在我的表中id不是做为主键出现的,主键是sid是字符串类型,在pojo是通过middlegen生成的
所以类中的属性也叫做id,于是出现了问题。
我在程序中想选出来id的最大值
String queryString = "select max(cr.id) from ChargeRate cr";
Query query = session.createQuery(queryString);
Iterator iterator = query.list().iterator();
if(iterator.hasNext()){
return ((Integer)iterator.next()).intValue()+1;
}
发现总是报转型错误,于是debug中查看iterator的信息竟然是sid的值。
解决办法:
修改ChargeRate类中的属性id为Id,相应的hbm.xml文件也修改,成功。

你可能感兴趣的:(Hibernate,xml)