From 246f9f19e75b99a09549dd9c557695465454445b Mon Sep 17 00:00:00 2001 From: janghs Date: Wed, 17 Apr 2024 10:29:53 +0900 Subject: [PATCH 1/2] Consolidate filter handling: applyFilters. --- .../orm/hibernate5/HibernateTemplate.java | 36 ++++++++----------- 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java index 51ef7fd4620b..95e70d4e7f68 100644 --- a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java +++ b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java @@ -163,7 +163,7 @@ protected final SessionFactory obtainSessionFactory() { * operation and correspondingly disabled at the end of the operation. * This will work for newly opened Sessions as well as for existing * Sessions (for example, within a transaction). - * @see #enableFilters(Session) + * @see #applyFilters(Session, boolean) * @see Session#enableFilter(String) */ public void setFilterNames(@Nullable String... filterNames) { @@ -360,7 +360,7 @@ protected T doExecute(HibernateCallback action, boolean enforceNativeSess } try { - enableFilters(session); + applyFilters(session, true); Session sessionToExpose = (enforceNativeSession || isExposeNativeSession() ? session : createSessionProxy(session)); return action.doInHibernate(sessionToExpose); @@ -383,7 +383,7 @@ protected T doExecute(HibernateCallback action, boolean enforceNativeSess SessionFactoryUtils.closeSession(session); } else { - disableFilters(session); + applyFilters(session, false); } } } @@ -404,31 +404,25 @@ protected Session createSessionProxy(Session session) { } /** - * Enable the specified filters on the given Session. + * Apply the specified filters on the given Session. + * This method can enable or disable the specified filters based on the 'enable' parameter. + * * @param session the current Hibernate Session + * @param enable true to enable filters, false to disable filters * @see #setFilterNames * @see Session#enableFilter(String) - */ - protected void enableFilters(Session session) { - String[] filterNames = getFilterNames(); - if (filterNames != null) { - for (String filterName : filterNames) { - session.enableFilter(filterName); - } - } - } - - /** - * Disable the specified filters on the given Session. - * @param session the current Hibernate Session - * @see #setFilterNames * @see Session#disableFilter(String) */ - protected void disableFilters(Session session) { + protected void applyFilters(Session session, boolean enable) { String[] filterNames = getFilterNames(); if (filterNames != null) { - for (String filterName : filterNames) { - session.disableFilter(filterName); + for(String filterName : filterNames) { + if(enable) { + session.enableFilter(filterName); + } + else { + session.disableFilter(filterName); + } } } } From ae403040de45dd3c91f3b301df414989671e1796 Mon Sep 17 00:00:00 2001 From: janghs Date: Wed, 17 Apr 2024 10:39:47 +0900 Subject: [PATCH 2/2] Fix whitespace. --- .../org/springframework/orm/hibernate5/HibernateTemplate.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java index 95e70d4e7f68..96f1443a16ae 100644 --- a/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java +++ b/spring-orm/src/main/java/org/springframework/orm/hibernate5/HibernateTemplate.java @@ -416,8 +416,8 @@ protected Session createSessionProxy(Session session) { protected void applyFilters(Session session, boolean enable) { String[] filterNames = getFilterNames(); if (filterNames != null) { - for(String filterName : filterNames) { - if(enable) { + for (String filterName : filterNames) { + if (enable) { session.enableFilter(filterName); } else {