我有三个表:删除集合项目在Hibernate中,无负载实体
user(id, name),
group(id, name),
xref_user_group(user_id, group_id)
我有两个Java类:
User {
int id;
String name;
}
Group {
int id;
String name;
Set<User> users;
}
我可以删除组用户(而不是删除用户),而不在内存中加载组对象。我需要某种HQL查询。 Smth like(我的想象):
delete user from Group where user.name = :username
我无法添加任何数据库或Hibernate级联。
我需要它是事务性的。
如果通过HQL无法做到这一点,并且没有在内存中加载对象,那么最好的解决方案是什么?
我说我希望它是HQL(不加载内存中的对象)。但是,如果不能编写HQL,那么最好的解决方案是什么? – Zalivaka 2011-05-07 07:37:11
1)我的HQL不起作用。它甚至不符合规范。 2)我不想添加SQL。 3)无状态会话如何帮助我。正如我读过的“集合被无状态会话忽略”。和“它没有实现交易”。我需要它是事务性的。我会将交易要求添加到我的问题帖子中。 – Zalivaka 2011-05-07 07:41:42
我回答了你的问题。在hql中允许删除。它不会延迟加载或级联。无论是交易,我不知道。但你的其他选择是原生SQL。期。 – MJB 2011-05-07 23:15:33