hibernate原生SQL执行有问题纯SQL却没问题啥情况?

rabbitbug 2018-01-31 01:47:53
下面的代码
如果执行语句1时, 都不会执行下面的setString语句, 直接跳到finally去了, 而且扑捉不到Exception
而如果执行两条注释掉的语句2时, 一点没问题, 能返回数据
相同的代码, 在我自己机器上没问题
在别人的机器上就出现上面问题
真是怪事啊
这是啥道理?
谢谢
try
{
session = this.getSession();
Query query = session.createQuery("select new User(u.userId, u.userName) from User u"); //1
//ResultTransformer rt=org.hibernate.transform.Transformers.aliasToBean(User.class); //2
//Query query = session.createSQLQuery("select u.userId, u.userName from User u").setResultTransformer(rt); //2
query.setString(0, userId);
query.setString(1, userPassword);
return (User)query.uniqueResult();
} catch (Exception re) {
log.error("登陆系统出错", re);
throw re;
} finally {
if (session != null)
{
session.close();
}
}



...全文
639 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rabbitbug 2018-02-04
  • 打赏
  • 举报
回复
引用 5 楼 qq_36203897 的回复:
是不是你的jar包的问题?我遇到过这样的:struts2.1的antlr.jar版本是2.7.2的,Hibernate的是2.7.7的,你看看你的jar包是不是冲突了,冲突的话删掉一个低版本的应该就好了。如果不行,当我没有说吧
我会试试看 谢谢
qq_36203897 2018-02-02
  • 打赏
  • 举报
回复
是不是你的jar包的问题?我遇到过这样的:struts2.1的antlr.jar版本是2.7.2的,Hibernate的是2.7.7的,你看看你的jar包是不是冲突了,冲突的话删掉一个低版本的应该就好了。如果不行,当我没有说吧
weiwolong 2018-02-02
  • 打赏
  • 举报
回复
试一下在控制层捕获异常,事务内的异常捕获是会有点问题。
rabbitbug 2018-01-31
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
"select new User(u.userId, u.userName) from User u" 多了个new ?
这是hibernate语法
rabbitbug 2018-01-31
  • 打赏
  • 举报
回复
引用 2 楼 u012445835 的回复:
User 类中是不是忘了加 public User(Long userid, String userName){} 这个构造方法 ?
当然有的, 否则在我自己机器也会出问题的 都是在debug状态运行过
心随念 2018-01-31
  • 打赏
  • 举报
回复
User 类中是不是忘了加 public User(Long userid, String userName){} 这个构造方法 ?
tianfang 2018-01-31
  • 打赏
  • 举报
回复
"select new User(u.userId, u.userName) from User u" 多了个new ?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧