[BAEL-14774] - Updated Hibernate @OneToMany article code

This commit is contained in:
amit2103 2019-07-06 18:24:07 +05:30
parent cda387711f
commit 982e32e49c
13 changed files with 19 additions and 15 deletions

View File

@ -31,6 +31,12 @@
<artifactId>h2</artifactId> <artifactId>h2</artifactId>
<version>${h2.version}</version> <version>${h2.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>${hsqldb.version}</version>
<scope>test</scope>
</dependency>
<!-- validation --> <!-- validation -->
<dependency> <dependency>
<groupId>org.hibernate</groupId> <groupId>org.hibernate</groupId>
@ -59,7 +65,7 @@
<finalName>hibernate-mapping</finalName> <finalName>hibernate-mapping</finalName>
<resources> <resources>
<resource> <resource>
<directory>src/test/resources</directory> <directory>src/main/resources</directory>
<filtering>true</filtering> <filtering>true</filtering>
</resource> </resource>
</resources> </resources>
@ -70,6 +76,7 @@
<assertj-core.version>3.8.0</assertj-core.version> <assertj-core.version>3.8.0</assertj-core.version>
<hibernate-validator.version>6.0.16.Final</hibernate-validator.version> <hibernate-validator.version>6.0.16.Final</hibernate-validator.version>
<org.glassfish.javax.el.version>3.0.1-b11</org.glassfish.javax.el.version> <org.glassfish.javax.el.version>3.0.1-b11</org.glassfish.javax.el.version>
<hsqldb.version>2.3.4</hsqldb.version>
</properties> </properties>
</project> </project>

View File

@ -1,8 +1,9 @@
package com.baeldung.hibernate.oneToMany.config; package com.baeldung.hibernate.oneToMany.config;
import org.hibernate.SessionFactory; import org.hibernate.SessionFactory;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistry;
public class HibernateAnnotationUtil { public class HibernateAnnotationUtil {
@ -12,16 +13,12 @@ public class HibernateAnnotationUtil {
private static SessionFactory buildSessionFactory() { private static SessionFactory buildSessionFactory() {
try { try {
// Create the SessionFactory from hibernate-annotation.cfg.xml // Create the SessionFactory from hibernate-annotation.cfg.xml
Configuration configuration = new Configuration(); ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure("hibernate-annotation.cfg.xml").build();
configuration.configure("hibernate-annotation.cfg.xml"); Metadata metadata = new MetadataSources(serviceRegistry).getMetadataBuilder().build();
System.out.println("Hibernate Annotation Configuration loaded"); SessionFactory sessionFactory = metadata.getSessionFactoryBuilder().build();
ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build();
System.out.println("Hibernate Annotation serviceRegistry created");
SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
return sessionFactory; return sessionFactory;
} catch (Throwable ex) { } catch (Throwable ex) {
System.err.println("Initial SessionFactory creation failed." + ex); System.err.println("Initial SessionFactory creation failed." + ex);
ex.printStackTrace(); ex.printStackTrace();

View File

@ -4,11 +4,11 @@
"http://hibernate.org/dtd/hibernate-configuration-3.0.dtd"> "http://hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration> <hibernate-configuration>
<session-factory> <session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.driver_class">org.h2.Driver</property>
<property name="hibernate.connection.password">mypassword</property> <property name="hibernate.connection.password"></property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/spring_hibernate_one_to_many?createDatabaseIfNotExist=true</property> <property name="hibernate.connection.url">jdbc:h2:mem:spring_hibernate_one_to_many</property>
<property name="hibernate.connection.username">myuser</property> <property name="hibernate.connection.username">sa</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.dialect">org.hibernate.dialect.H2Dialect</property>
<property name="hbm2ddl.auto">create</property> <property name="hbm2ddl.auto">create</property>
<property name="hibernate.current_session_context_class">thread</property> <property name="hibernate.current_session_context_class">thread</property>
<property name="hibernate.show_sql">true</property> <property name="hibernate.show_sql">true</property>