[英]How to send it all one request in Hibernate ? (HQL)
getSession()
.createQuery(
"UPDATE Friend SET status = :status, actionUserId = :userId, lastModifyDate = :lastModifyDate WHERE userId = :userId AND friendId = :idUserFriend")
.setParameter("status", Integer.valueOf(InviteFriendState.CANCEL.getState()))
.setParameter("userId", userId).setParameter("idUserFriend", idUserFriend)
.setParameter("lastModifyDate", new Date()).executeUpdate();
}getSession()
.createQuery(
"UPDATE Friend SET status = :status, actionUserId = :userId, lastModifyDate = :lastModifyDate WHERE userId = :idUserFriend AND friendId = :userId ")
.setParameter("status", Integer.valueOf(InviteFriendState.CANCEL.getState()))
.setParameter("userId", userId).setParameter("idUserFriend", idUserFriend)
.setParameter("lastModifyDate", new Date()).executeUpdate();
}`
How to send it all one request in Hibernate ? 如何在Hibernate中发送所有一个请求? (HQL)
(HQL)
How to combine a request? 如何合并一个请求?
Why doing two requests ? 为什么要执行两个请求?
You can do the same thing with a single query by adding an OR condition : 您可以通过添加OR条件对单个查询执行相同的操作:
getSession()
.createQuery(
"UPDATE Friend SET status = :status, actionUserId = :userId, lastModifyDate = :lastModifyDate
WHERE (userId = :userId AND friendId = :idUserFriend)
|| (userId = :idUserFriend AND friendId = :userId) ")
.setParameter("status", Integer.valueOf(InviteFriendState.CANCEL.getState()))
.setParameter("userId", userId).setParameter("idUserFriend", idUserFriend)
.setParameter("lastModifyDate", new Date()).executeUpdate();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.