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;
+ }
+
//
+
}