PLAY 1.2.7 JPA更新数据不生效的问题

andylist 2015-12-19 10:23:44
先贴代码:
public int updateSign(ErrorInfo error){
error.clear();

EntityManager em = JPA.em();

String userSign1 = com.shove.security.Encrypt.MD5(Long.toString(this._id) + this.balance1 + this.freeze1 + Constants.ENCRYPTION_KEY);

String userSign2 = com.shove.security.Encrypt.MD5(Long.toString(this._id) + this.balance2 +
this.freeze2 + this.amount + this.recieveAmount + Constants.ENCRYPTION_KEY);
String updateSql = "update t_users set sign1 = ?, sign2 = ? where id = ?";
Query query = em.createQuery(updateSql).setParameter(1, userSign1).setParameter(2, userSign2).setParameter(3, this._id);

int rows = 0;

try {
rows = query.executeUpdate();
} catch(Exception e) {
e.printStackTrace();
Logger.info("更改用户防篡改标志时:"+e.getMessage());
error.code = -1;
error.msg = "更改用户防篡改标志出现错误";
JPA.setRollbackOnly();

return error.code;
}

if(rows < 0){
error.code = -1;
error.msg = "更改用户防篡改标志操作没有执行";
JPA.setRollbackOnly();

return error.code;
}

error.code = 0;

return error.code;
}
那个rows明明是返回了1,但是数据库的字段却没有任何改变,请问是什么原因了?查了很久了,都没查出原因。
...全文
254 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
_南天北落 2015-12-20
  • 打赏
  • 举报
回复
String updateSql = "update t_users set sign1 = ?, sign2 = ? where id = ?"; 你是update语句,可以先写一个sql语句测试一下,,正确的话在写程序试试。
esolve 2015-12-19
  • 打赏
  • 举报
回复
事务回滚了吗?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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