当前位置: 代码迷 >> Java Web开发 >> javaweb 求wheresql语句如何写
  详细解决方案

javaweb 求wheresql语句如何写

热度:685   发布时间:2016-04-14 08:59:39.0
javaweb 求wheresql语句怎么写
select r.*,g.name as g_name FROM tx_addressList r  left join tx_addrGroup g on g.ID=r.pid WHERE r.userid=3621
上面的连表查询语句
写到javaweb里面怎么写

String wheresql=" r.,g.name as g_name FROM tx_addressList r  left join tx_addrGroup g on g.ID=r.pid WHERE r.userid="+userid;
上面这串是我自己写的但是报错
求帮助 将最上面的那个连表查询语句写到 String wheresql 这个方法里面
------解决思路----------------------
引用:
Quote: 引用:

String wheresql="  left join tx_addrGroup g on g.ID=r.pid WHERE  r.userid="+userid;


java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token: left near line 1, column 56 [select o from com.hoosee.entity.tx.AddressList o where left join tx_addrGroup g on g.ID=r.pid WHERE  r.userid=3621 order by o.name desc]
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:601)
org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:96)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.springframework.orm.jpa.ExtendedEntityManagerCreator$ExtendedEntityManagerInvocationHandler.invoke(ExtendedEntityManagerCreator.java:365)
com.sun.proxy.$Proxy36.createQuery(Unknown Source)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:240)
com.sun.proxy.$Proxy34.createQuery(Unknown Source)
com.hoosee.service.base.DaoSupport.findScrollData(DaoSupport.java:169)
com.hoosee.service.base.DaoSupport.findScrollData(DaoSupport.java:325)
com.hoosee.service.base.DaoSupport$$FastClassByCGLIB$$f334862b.invoke(<generated>)
net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)


这样的错 什么情况




标红的拿下去
select o from com.hoosee.entity.tx.AddressList o where left join tx_addrGroup g on g.ID=r.pid WHERE  r.userid=3621 order by o.name desc]

------解决思路----------------------
Session session = getHibernateTemplate().getSessionFactory().getCurrentSession();
   String wheresql=" r.,g.name as g_name FROM tx_addressList r  left join tx_addrGroup g on g.ID=r.pid WHERE r.userid="+userid;
Query q = session.createQuery(wheresql);

List list = q.list();


你试试