diff --git a/spring-hibernate-dao/pom.xml b/spring-hibernate-dao/pom.xml index 3eee877117..d60e33bcd2 100644 --- a/spring-hibernate-dao/pom.xml +++ b/spring-hibernate-dao/pom.xml @@ -29,16 +29,22 @@ - - - - - + + org.hibernate + hibernate-entitymanager + 4.2.1.Final + org.hibernate hibernate-core 4.2.1.Final + + mysql + mysql-connector-java + 5.1.25 + runtime + diff --git a/spring-hibernate-dao/src/main/java/org/baeldung/spring/persistence/config/PersistenceConfig.java b/spring-hibernate-dao/src/main/java/org/baeldung/spring/persistence/config/PersistenceConfig.java index fa7138f742..7e8a78b0c4 100644 --- a/spring-hibernate-dao/src/main/java/org/baeldung/spring/persistence/config/PersistenceConfig.java +++ b/spring-hibernate-dao/src/main/java/org/baeldung/spring/persistence/config/PersistenceConfig.java @@ -8,17 +8,19 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; import org.springframework.core.env.Environment; import org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor; import org.springframework.jdbc.datasource.DriverManagerDataSource; -import org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean; import org.springframework.orm.hibernate4.HibernateTransactionManager; +import org.springframework.orm.hibernate4.LocalSessionFactoryBean; import org.springframework.transaction.annotation.EnableTransactionManagement; import com.google.common.base.Preconditions; @Configuration @EnableTransactionManagement +@PropertySource({ "classpath:persistence-mysql.properties" }) @ComponentScan({ "org.baeldung.spring.persistence.dao", "org.baeldung.spring.persistence.service" }) public class PersistenceConfig { @@ -30,10 +32,10 @@ public class PersistenceConfig { } @Bean - public AnnotationSessionFactoryBean alertsSessionFactory() { - final AnnotationSessionFactoryBean sessionFactory = new AnnotationSessionFactoryBean(); + public LocalSessionFactoryBean sessionFactory() { + final LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); sessionFactory.setDataSource(restDataSource()); - sessionFactory.setPackagesToScan(new String[] { "org.rest" }); + sessionFactory.setPackagesToScan(new String[] { "org.baeldung.spring.persistence.model" }); sessionFactory.setHibernateProperties(hibernateProperties()); return sessionFactory; @@ -53,7 +55,7 @@ public class PersistenceConfig { @Bean public HibernateTransactionManager transactionManager() { final HibernateTransactionManager txManager = new HibernateTransactionManager(); - txManager.setSessionFactory(alertsSessionFactory().getObject()); + txManager.setSessionFactory(sessionFactory().getObject()); return txManager; } diff --git a/spring-hibernate-dao/src/main/java/org/baeldung/spring/persistence/model/Foo.java b/spring-hibernate-dao/src/main/java/org/baeldung/spring/persistence/model/Foo.java index 01a3693325..8842c26d95 100644 --- a/spring-hibernate-dao/src/main/java/org/baeldung/spring/persistence/model/Foo.java +++ b/spring-hibernate-dao/src/main/java/org/baeldung/spring/persistence/model/Foo.java @@ -1,8 +1,31 @@ package org.baeldung.spring.persistence.model; import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; @Entity public class Foo { + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private long id; + + public Foo() { + super(); + } + + // API + + public long getId() { + return id; + } + + public void setId(final long id) { + this.id = id; + } + // + }