【问题标题】:implement custom executeUpdate from org.hibernate.query.Query class从 org.hibernate.query.Query 类实现自定义 executeUpdate
【发布时间】:2021-11-02 10:20:42
【问题描述】:

我正在使用 org.hibernate.query.Query 类通过调用 executeUpdate 方法对数据库实体执行更新:

public void updateMyClass (String value) {
    Session session = sessionFactory.getCurrentSession();
    Query<Void> query = session
            .createQuery("UPDATE MyClass SET value = :value ")
            .setParameter("value", value);
    query.executeUpdate();
}

我想防止直接调用 executeUpdate(),因为在每次更新之前和之后,我都会执行一些进一步的逻辑。我需要在上下文中可以访问 Session 和 Query 类,但要防止在 executeUpdate() 中直接使用。 我正在考虑扩展这两个类,但我找不到扩展 Session 类的方法,而且在这种情况下,我失去了 IDE 的 HQL/SQL 检查和验证。

有没有更直接的方法来实现这一点?

【问题讨论】:

    标签: java hibernate hql


    【解决方案1】:

    您不应该扩展这些接口。您可以做的最好的事情是创建某种检查样式规则来阻止使用此方法,从而导致构建错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-04
      • 2020-05-10
      • 2013-07-22
      相关资源
      最近更新 更多