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 ? (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 :
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();
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.