代码:
根据用户ID显示其下级用户 public List nextLevelUserid(String userid) {
Session session = HibernateSessionFactory.getSession();
List relist = null;
try { Query queryObject = session
.createSQLQuery("select userid, case when level=1 and parentuserid='0' then 1 when level=1 and parentuserid<>'0' then 2 when level=2 and prior parentuserid='0' then 2 when level=2 and prior parentuserid<>'0' then 3 else 3 end as uidlevel from userinfo where level>1 start with userid= :uid connect by prior userid = parentuserid ; ");
queryObject.setParameter("uid", userid);
relist = queryObject.list();
} catch (RuntimeException re) {
log.error("==CardinfoServices findAllCardinfo failed==", re);
re.printStackTrace();
} finally {
session.close();
}
return relist;
}
但是如果我把sql写成这样,就没有问题
但是写成这样不符合我现在的需求
select userid, case when level=2 then 2 else 3 end as uidlevel from userinfo where level>1 start with userid= :uid connect by prior userid = parentuserid请问该如何修改?
根据用户ID显示其下级用户 public List nextLevelUserid(String userid) {
Session session = HibernateSessionFactory.getSession();
List relist = null;
try { Query queryObject = session
.createSQLQuery("select userid, case when level=1 and parentuserid='0' then 1 when level=1 and parentuserid<>'0' then 2 when level=2 and prior parentuserid='0' then 2 when level=2 and prior parentuserid<>'0' then 3 else 3 end as uidlevel from userinfo where level>1 start with userid= :uid connect by prior userid = parentuserid ; ");
queryObject.setParameter("uid", userid);
relist = queryObject.list();
} catch (RuntimeException re) {
log.error("==CardinfoServices findAllCardinfo failed==", re);
re.printStackTrace();
} finally {
session.close();
}
return relist;
}
但是如果我把sql写成这样,就没有问题
但是写成这样不符合我现在的需求
select userid, case when level=2 then 2 else 3 end as uidlevel from userinfo where level>1 start with userid= :uid connect by prior userid = parentuserid请问该如何修改?
解决方案 »
- 系统集成问题
- 用arcgis做过地图的进
- 如何通过ApplicationContext取得service?
- 两个问题 望好心人帮忙指点
- java请教:错误java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
- 请问你们用Hibernate做多对多连接映射时候一般是何种方式?
- 请教java调用.NET的webservice的问题??
- 再问:hibernate:on-to-many 里面有详细代码(郁闷好长时间了,明天早晨结贴)
- 小弟有个问题请教各位大虾们!
- 关于filter的问题
- 奇怪的问题...
- MySql事务问题
这条sql 在客户端能执行吗?末尾为什么带个分号,莫非和mysql一样分号代码一条语句结束?
是在不行 就查询出结果来 在if else 判断uidlevel的值也可以啊 就封装在vo的get方法里
我写的string,long 都报转换错误?
我定义uidlevel为Integer类型,可是程序报错
java.lang.ClassCastException: java.math.BigDecimal最后换成BigDecimal就好了