表A的字段1和表B的主键值相同,表A的数字编号在表B中也有,并且表B里有字段名称,现在我想通过表A的字段1拿到表B的字段名称。现在用SSH开发,需要写出来hql语句,要求联查,怎么写?麻烦说清楚点,言之有理,即可得分。
------解决方案--------------------
hql跟sql基本写法是一样的,hql对应的是映射文件,sql是直接查表,如果hql映射文件是以一对多等形式,那就只要查主表,对应的表数据会自动关联出来,不过程序会比较慢.如果实在不会hql,就按你的sql写法:Query query = getSession().createSQLQuery(hql.toString());
return query.list();
------解决方案--------------------
hql = "from 表A where A.id=xxx";
List<表A> al = find(hql);
表B = ((表A)al.get(0)).表B;
------解决方案--------------------
好久不用了 都忘了
------解决方案--------------------
就是说A和B是多对一的关系,那你就在A.hbm.xml里配置many-to-one和B建立关系,在B.hbm.xml里配置set和A建立关系。然后就可以select A.*,A.B.* from A