gpt4 book ai didi

java - 在 Hibernate 4.2.21 中删除表的所有行

转载 作者:太空宇宙 更新时间:2023-11-04 13:12:51 25 4
gpt4 key购买 nike

我正在使用 oracle 12c 和 Hibernate 4.2.21,我想删除关系 OnetoMany 中的两个表。

我的方法是从“Table”中删除:

public void deleteAllRecords() {
Session session = HibernateSessionFactory.getSessionFactory()
.openSession();

try {
session.beginTransaction();

// String hql = String.format("TRUNCATE table MapField");
// Query query = session.createQuery(hql);
// query.executeUpdate();

Query q1 = session.createQuery ("DELETE FROM MapField");
int deleted = q1.executeUpdate ();

Query q2 = session.createQuery ("DELETE FROM MapRecord");
int deleted = q2.executeUpdate ();

} catch (Exception e) {
logger.error("Error :" + e);
session.getTransaction().rollback();
} finally {
session.close();
}

当我执行此操作时,我没有收到任何 Error ,只有这个:

INFO  [stdout] (ServerService Thread Pool -- 60) Hibernate: delete from MapField

但是当我去检查数据库中的表时,行仍然在这里..

最佳答案

尝试在q2.executeUpdate();之后提交事务

session.getTransaction().commit();

关于java - 在 Hibernate 4.2.21 中删除表的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33799937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com