SpringComponent now supports adding properties as beans instead of
[utils] / system / spring / src / main / java / org / wamblee / system / spring / component / HibernateComponent.java
index 7db715a8b156c39993ca1c048bbcd71e43c7850e..364b250f1b82b9b30fce55cadd3320fe2e320842 100644 (file)
@@ -19,12 +19,11 @@ import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
-import java.util.TreeMap;
 
 import javax.sql.DataSource;
 
 import org.hibernate.SessionFactory;
-import org.springframework.core.io.ClassPathResource;
+import org.hibernate.dialect.MySQLInnoDBDialect;
 import org.springframework.orm.hibernate3.HibernateTemplate;
 import org.springframework.transaction.PlatformTransactionManager;
 import org.wamblee.persistence.hibernate.HibernateMappingFiles;
@@ -36,7 +35,7 @@ import org.wamblee.system.spring.SpringComponent;
 
 public class HibernateComponent extends SpringComponent {
 
-    private static final String HIBERNATE_PROPERTIES = "properties/org.wamblee.system.spring.component.hibernate.properties";
+    private static final String HIBERNATE_PROPS_KEY = "hibernateProperties";
     private static final String HIBERNATE_SPRING_CONFIG = "spring/org.wamblee.system.spring.component.hibernate.xml";
 
     public HibernateComponent(String aName) throws IOException { 
@@ -44,8 +43,14 @@ public class HibernateComponent extends SpringComponent {
                 createProvided(), createRequired()); 
         
         Properties props = new Properties(); 
-        props.load(new ClassPathResource(HIBERNATE_PROPERTIES).getInputStream());
-        addProperties(props);
+        addProperties(HIBERNATE_PROPS_KEY, props);
+   
+        props.put("hibernate.dialect", MySQLInnoDBDialect.class.getName());
+        setProperty("hibernate.schemaupdate", "true");
+    }
+    
+    private Properties getHibernateProperties() { 
+        return getProperties(HIBERNATE_PROPS_KEY);
     }
 
     private static Map<RequiredInterface, String> createRequired() {