From 93db3df35b44a9a6c7a202ea242f7e371882080c Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 28 Nov 2011 00:04:55 +0000 Subject: [PATCH] added "namingStrategy" property to Hibernate 4 LocalSessionFactoryBean variant (SPR-8864) --- .../orm/hibernate4/LocalSessionFactoryBean.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/org.springframework.orm/src/main/java/org/springframework/orm/hibernate4/LocalSessionFactoryBean.java b/org.springframework.orm/src/main/java/org/springframework/orm/hibernate4/LocalSessionFactoryBean.java index c4a98e5abd..28c5ada996 100644 --- a/org.springframework.orm/src/main/java/org/springframework/orm/hibernate4/LocalSessionFactoryBean.java +++ b/org.springframework.orm/src/main/java/org/springframework/orm/hibernate4/LocalSessionFactoryBean.java @@ -22,6 +22,7 @@ import java.util.Properties; import javax.sql.DataSource; import org.hibernate.SessionFactory; +import org.hibernate.cfg.NamingStrategy; import org.springframework.beans.factory.DisposableBean; import org.springframework.beans.factory.FactoryBean; @@ -68,6 +69,8 @@ public class LocalSessionFactoryBean implements FactoryBean, Res private Resource[] mappingDirectoryLocations; + private NamingStrategy namingStrategy; + private Properties hibernateProperties; private Class[] annotatedClasses; @@ -175,6 +178,15 @@ public class LocalSessionFactoryBean implements FactoryBean, Res this.mappingDirectoryLocations = mappingDirectoryLocations; } + /** + * Set a Hibernate NamingStrategy for the SessionFactory, determining the + * physical column and table names given the info in the mapping document. + * @see org.hibernate.cfg.Configuration#setNamingStrategy + */ + public void setNamingStrategy(NamingStrategy namingStrategy) { + this.namingStrategy = namingStrategy; + } + /** * Set Hibernate properties, such as "hibernate.dialect". *

Note: Do not specify a transaction provider here when using @@ -279,6 +291,10 @@ public class LocalSessionFactoryBean implements FactoryBean, Res } } + if (this.namingStrategy != null) { + sfb.setNamingStrategy(this.namingStrategy); + } + if (this.hibernateProperties != null) { sfb.addProperties(this.hibernateProperties); }