Hibernate如何删除(OBJ)对象



它只是删除具有OBJ的ID的任何对象,还是首先引用其所有属性?

例如,说我想用

删除 TransactionRequest transactionRequest tr1
id = 25, amount = 311, client_id = 13

它首先确保所有这些属性都要签出,还是只删除TransactionRequest的ID为25?

关于删除对象只知道的条件。

如果您足够了id字段,则可以继续进行,如果您想扩展条件(以其他字段为金额和客户端_id,您可以这样做)。

要删除一个对象,您可以按照两种方式(我以TransactionRequest对象为例):

第一个:

通过查询获取对象并将其删除:

Query q = session.createQuery("select from TransactionRequest t where t.id = :yourParam");
q.setString("yourParam, "25");
TransactionRequest toDelete = (TransactionRequest)q.uniqueResult();
session.delete(toDelete);

第二个:

写一个删除查询

Query q = session.createQuery("delete from TransactionRequest where id = :yourParam");
q.setString("yourParam, "25");
q.executeUpdate();

两种方式之间的区别:

如果您使用第一种方式,则可以保证删除对象和用Cascade子句映射的数据集

如果使用第二种方式,则如果您的对象中有设置/列表/袋映射

,则无法删除对象

相关内容

最新更新