我有一张看起来像这样的桌子:
ID USER_NAME ROOM_ID
1 user1 13
2 user2 11
3 user3 null
4 user4 4
5 user5 2
房间桌子
ID ROOM_NAME SQUARE
13 room1 17
4 room2 42
2 room3 26
11 room4 37
5 room5 28
在我的应用程序中,我可以更改用户的ROOM_ID,例如,更改为Null。然后,我将拥有一个“未使用”的房间(此房间中没有用户)。
因此,问题是:我如何使用Hibernate自动删除此会议室?
谢谢!
答案 0 :(得分:1)
您可以为此使用触发器:
const names = [{ name: "John" },{ name: "Paul" },{ name: "George" },{ name: "Ringo" },{ name: "John" } ];
let result = Object.values(names.reduce((a,c) => Object.assign(a, {[c.name]:c}),{}));
console.log(result);
这样,当您更新任何用户时,分配的房间将被删除
答案 1 :(得分:-1)
尝试此代码-有关详细信息,请参见注释:
Session session = null;
if(session == null) {
initTransaction();
}
Room room = (Room) session.createCriteria(UserRoomTable.class); // First table Pojo class name
room.add(Restrictions.isNull("roomId"));
session.delete(room); // This deletes the unused entry