日期:2014-05-17  浏览次数:20760 次

SSH的多表操作要怎么做,增删改查




请问一下为什么在
Category category1=(Category) this.getHibernateTemplate().find(hql,category.getName());
会出现空指针异常

------解决方案--------------------
find()是从一级缓存之中找数据的,可以用
Category category1 = session.createQuery(hql).setString(1,category.getName()).uniqueResult();
------解决方案--------------------
Category category1=(Category)this.getHibernateTemplate.find(hql,category.getName());不知道你hql语句写的什么,但是报空指针是一定的,hibernate session.get()只能通过主键的值来查询,你写个name肯定获取不到对象。
------解决方案--------------------
第一,是看看你的数据库里面有没有值,再有就是你这个Spring是不是Config错了;


------解决方案--------------------
hibernate的find方法用的不是Name吧,应该写主键才对
多标查询的话可以这样,select t from table t,table2 t2 ,table 3 where t.id=t2.table1Id ..... and t.xx=?1...这样的话就能实现多表查询了,这个其实是结合了,内连接查询,和外连接查询的,比直接写SQL语句简单,当然这个只能返回一个表的数据,如果想获取多个表的数据的话,只能用他所关联的外键再去查询了,如果谁有更好的方法, 请加我的qq2355571513告诉我一下,我一直想知道那个问题