hibernate 无主键 写hql语句

来源:百度知道 编辑:UC知道 时间:2024/06/18 07:25:25
今天在做项目时,遇到一个问题,项目中引用另外一个系统中的表, 该表是没有主键的
然后hibernate自动根据我的表结构生成 java类,如果表中有主键的话,一般是 生成一个java类,然后一个..hbm.xml 然后 是一个DAO
今天碰到的问题是,表中无主键,然后多生成了一个 java类,自己知道是复合主键,但就是不知道hql语句该如何写....
String hqlQuery ="select tt.ItemPriceId.mcode,tt.ItemPriceId.price from ItemPrice tt,Areasort a,Area ab where ab.areasortid=a.areasortid and tt.ItemPriceId.areacode = ab.areacode"+
"and tt.ItemPriceId.mcode=? and a.areasortid = 6";
Object king [] = (Object[])getHibernateTemplate().find(hqlQuery,dg.getMcode()).get(0);
ItemPriceId ip=(ItemPriceId)king[0];
System.out.println("oh,the price is:"+ip.getPrice());
dg.setPrice(ip.getPrice());

其中 ItemPrice 是vo类,ItemPriceId是没有主键生成的,然而我要的属性全部在ItemPriceId这个类里面。。。 那样上面的hql语句就不好写了....
弄了半天多不知道该怎么写,,有知道的朋友麻烦给点意见...谢谢了....
该问题我已解决,其实只要用拿 Item.id.xx属性就完全可以解决...还是感谢两位....

没有主键,那就有许多的重复数据,那么你怎么select呢?

hibernate要求必须有之间,这是规定。

你可以放弃hibernate,用jdbc自己处理数据

貌似必须得设一个主键