diff --git a/persistence-modules/hibernate-mapping-2/README.md b/persistence-modules/hibernate-mapping-2/README.md
index 9994640f1aaa..cd0c0fdbc739 100644
--- a/persistence-modules/hibernate-mapping-2/README.md
+++ b/persistence-modules/hibernate-mapping-2/README.md
@@ -4,7 +4,10 @@ This module contains articles about Hibernate Mappings.
### Relevant articles
-- [Hibernate Many to Many Annotation Tutorial](https://www.baeldung.com/hibernate-many-to-many)
- [Boolean Converters in Hibernate 6](https://www.baeldung.com/java-hibernate-6-boolean-converters)
-- [Generate UUIDs as Primary Keys With Hibernate](https://www.baeldung.com/java-hibernate-uuid-primary-key)
-- [Understanding JPA/Hibernate Associations](https://www.baeldung.com/jpa-hibernate-associations)
+- [Mapping LOB Data in Hibernate](https://www.baeldung.com/hibernate-lob)
+- [Persisting Maps with Hibernate](https://www.baeldung.com/hibernate-persisting-maps)
+- [Hibernate Validator Specific Constraints](https://www.baeldung.com/hibernate-validator-constraints)
+- [Mapping A Hibernate Query to a Custom Class](https://www.baeldung.com/hibernate-query-to-custom-class)
+- [Dynamic Mapping with Hibernate](https://www.baeldung.com/hibernate-dynamic-mapping)
+- [FetchMode in Hibernate](https://www.baeldung.com/hibernate-fetchmode)
diff --git a/persistence-modules/hibernate-mapping-2/pom.xml b/persistence-modules/hibernate-mapping-2/pom.xml
index aab433eadce0..4a4975360b7e 100644
--- a/persistence-modules/hibernate-mapping-2/pom.xml
+++ b/persistence-modules/hibernate-mapping-2/pom.xml
@@ -14,29 +14,11 @@
-
-
- org.springframework
- spring-context
- ${org.springframework.version}
-
-
-
- org.springframework.data
- spring-data-jpa
- ${org.springframework.data.version}
-
org.hibernate.orm
hibernate-core
${hibernate.version}
-
- org.apache.tomcat
- tomcat-dbcp
- ${tomcat-dbcp.version}
-
-
com.google.guava
@@ -44,27 +26,57 @@
${guava.version}
-
- org.springframework
- spring-test
- ${org.springframework.version}
- test
-
com.h2database
h2
${h2.version}
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+ org.hibernate.validator
+ hibernate-validator
+ ${hibernate-validator.version}
+
+
+ javax.money
+ money-api
+ ${money-api.version}
+
+
+ org.javamoney
+ moneta
+ ${moneta.version}
+ pom
+
+
+ org.openjdk.nashorn
+ nashorn-core
+ ${nashorn-core.version}
+
+
+ org.glassfish.expressly
+ expressly
+ ${expressly.version}
+
-
- 6.0.6
- 3.0.3
-
- 9.0.0.M26
4.0.2
2.1.214
+ 1.1
+ 1.4.2
+ 8.0.1.Final
+ 15.4
+ 5.0.0
\ No newline at end of file
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/HibernateUtil.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/HibernateUtil.java
index df409ee8889a..f9410de72a89 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/HibernateUtil.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/HibernateUtil.java
@@ -1,58 +1,97 @@
package com.baeldung.hibernate;
-import static org.hibernate.boot.registry.StandardServiceRegistryBuilder.DEFAULT_CFG_RESOURCE_NAME;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Properties;
+import org.apache.commons.lang3.StringUtils;
import org.hibernate.SessionFactory;
+import org.hibernate.boot.Metadata;
+import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
-import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import com.baeldung.hibernate.booleanconverters.model.Question;
-import com.baeldung.hibernate.manytomany.model.Employee;
-import com.baeldung.hibernate.manytomany.model.Project;
-import com.baeldung.hibernate.uuids.WebSiteUser;
-import com.baeldung.hibernate.uuids.Element;
-import com.baeldung.hibernate.uuids.Reservation;
-import com.baeldung.hibernate.uuids.Sale;
+import com.baeldung.hibernate.entities.DeptEmployee;
+import com.baeldung.hibernate.pojo.Employee;
+import com.baeldung.hibernate.pojo.EntityDescription;
+import com.baeldung.hibernate.pojo.Phone;
public class HibernateUtil {
- private static final String DEFAULT_RESOURCE = "manytomany.cfg.xml";
- private static final Logger LOGGER = LoggerFactory.getLogger(HibernateUtil.class);
+ private static String PROPERTY_FILE_NAME;
+ private HibernateUtil() {
+ }
+
+ public static SessionFactory getSessionFactory() throws IOException {
+ return getSessionFactory("");
+ }
+
+ public static SessionFactory getSessionFactory(String propertyFileName) throws IOException {
+ if(propertyFileName.equals("")) propertyFileName = null;
+ PROPERTY_FILE_NAME = propertyFileName;
+ ServiceRegistry serviceRegistry = configureServiceRegistry();
+ return makeSessionFactory(serviceRegistry);
+ }
- private static SessionFactory buildSessionFactory(String resource) {
+ public static SessionFactory getSessionFactory(Strategy strategy) {
+ return buildSessionFactory(strategy);
+ }
+
+ private static SessionFactory buildSessionFactory(Strategy strategy) {
try {
- // Create the SessionFactory from hibernate-annotation.cfg.xml
- Configuration configuration = new Configuration();
- configuration.addAnnotatedClass(Employee.class);
- configuration.addAnnotatedClass(Project.class);
- configuration.addAnnotatedClass(WebSiteUser.class);
- configuration.addAnnotatedClass(Element.class);
- configuration.addAnnotatedClass(Reservation.class);
- configuration.addAnnotatedClass(Sale.class);
- configuration.addAnnotatedClass(Question.class);
- configuration.addPackage(Question.class.getPackageName());
- configuration.configure(resource);
- LOGGER.debug("Hibernate Annotation Configuration loaded");
-
- ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties())
- .build();
- LOGGER.debug("Hibernate Annotation serviceRegistry created");
-
- return configuration.buildSessionFactory(serviceRegistry);
- } catch (Throwable ex) {
- LOGGER.error("Initial SessionFactory creation failed.", ex);
+ ServiceRegistry serviceRegistry = configureServiceRegistry();
+
+ MetadataSources metadataSources = new MetadataSources(serviceRegistry);
+
+ for (Class> entityClass : strategy.getEntityClasses()) {
+ metadataSources.addAnnotatedClass(entityClass);
+ }
+
+ Metadata metadata = metadataSources.getMetadataBuilder()
+ .build();
+
+ return metadata.getSessionFactoryBuilder()
+ .build();
+ } catch (IOException ex) {
throw new ExceptionInInitializerError(ex);
}
}
- public static SessionFactory getSessionFactory() {
- return buildSessionFactory(DEFAULT_RESOURCE);
+ private static SessionFactory makeSessionFactory(ServiceRegistry serviceRegistry) {
+ MetadataSources metadataSources = new MetadataSources(serviceRegistry);
+
+ metadataSources.addPackage("com.baeldung.hibernate.pojo");
+ metadataSources.addAnnotatedClass(Employee.class);
+ metadataSources.addAnnotatedClass(Phone.class);
+ metadataSources.addAnnotatedClass(EntityDescription.class);
+ metadataSources.addAnnotatedClass(DeptEmployee.class);
+ metadataSources.addAnnotatedClass(com.baeldung.hibernate.entities.Department.class);
+
+ Metadata metadata = metadataSources.getMetadataBuilder()
+ .build();
+
+ return metadata.getSessionFactoryBuilder()
+ .build();
+
+ }
+
+
+ private static ServiceRegistry configureServiceRegistry() throws IOException {
+ Properties properties = getProperties();
+ return new StandardServiceRegistryBuilder().applySettings(properties)
+ .build();
}
- public static SessionFactory getSessionFactory(String resource) {
- return buildSessionFactory(resource);
+ private static Properties getProperties() throws IOException {
+ Properties properties = new Properties();
+ URL propertiesURL = Thread.currentThread()
+ .getContextClassLoader()
+ .getResource(StringUtils.defaultString(PROPERTY_FILE_NAME, "hibernate.properties"));
+ try (FileInputStream inputStream = new FileInputStream(propertiesURL.getFile())) {
+ properties.load(inputStream);
+ }
+ return properties;
}
}
+
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/Strategy.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/Strategy.java
new file mode 100644
index 000000000000..b0bc095b43bd
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/Strategy.java
@@ -0,0 +1,31 @@
+package com.baeldung.hibernate;
+
+
+import java.util.Arrays;
+import java.util.List;
+
+public enum Strategy {
+ //See that the classes belongs to different packages
+ MAP_KEY_COLUMN_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkeycolumn.Order.class,
+ com.baeldung.hibernate.basicannotation.Course.class)),
+ MAP_KEY_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkey.Item.class,
+ com.baeldung.hibernate.persistmaps.mapkey.Order.class,com.baeldung.hibernate.persistmaps.mapkey.User.class)),
+ MAP_KEY_JOIN_COLUMN_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Seller.class,
+ com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Item.class,
+ com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Order.class)),
+ MAP_KEY_ENUMERATED_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkeyenumerated.Order.class,
+ com.baeldung.hibernate.persistmaps.mapkey.Item.class)),
+ MAP_KEY_TEMPORAL_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkeytemporal.Order.class,
+ com.baeldung.hibernate.persistmaps.mapkey.Item.class));
+
+
+ private List> entityClasses;
+
+ Strategy(List> entityClasses) {
+ this.entityClasses = entityClasses;
+ }
+
+ public List> getEntityClasses() {
+ return entityClasses;
+ }
+}
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/basicannotation/Course.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/basicannotation/Course.java
new file mode 100644
index 000000000000..ca77888f9b6f
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/basicannotation/Course.java
@@ -0,0 +1,33 @@
+package com.baeldung.hibernate.basicannotation;
+
+import jakarta.persistence.Basic;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+
+@Entity
+public class Course {
+
+ @Id
+ private int id;
+
+ @Basic(optional = false, fetch = FetchType.LAZY)
+ private String name;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
+
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/booleanconverters/HibernateUtil.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/booleanconverters/HibernateUtil.java
new file mode 100644
index 000000000000..e807f2271f10
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/booleanconverters/HibernateUtil.java
@@ -0,0 +1,46 @@
+package com.baeldung.hibernate.booleanconverters;
+
+
+import org.hibernate.SessionFactory;
+import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.service.ServiceRegistry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.baeldung.hibernate.booleanconverters.model.Question;
+
+
+public class HibernateUtil {
+
+ private static final String DEFAULT_RESOURCE = "manytomany.cfg.xml";
+ private static final Logger LOGGER = LoggerFactory.getLogger(HibernateUtil.class);
+
+ private static SessionFactory buildSessionFactory(String resource) {
+ try {
+ // Create the SessionFactory from hibernate-annotation.cfg.xml
+ Configuration configuration = new Configuration();
+ configuration.addAnnotatedClass(Question.class);
+ configuration.addPackage(Question.class.getPackageName());
+ configuration.configure(resource);
+ LOGGER.debug("Hibernate Annotation Configuration loaded");
+
+ ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties())
+ .build();
+ LOGGER.debug("Hibernate Annotation serviceRegistry created");
+
+ return configuration.buildSessionFactory(serviceRegistry);
+ } catch (Throwable ex) {
+ LOGGER.error("Initial SessionFactory creation failed.", ex);
+ throw new ExceptionInInitializerError(ex);
+ }
+ }
+
+ public static SessionFactory getSessionFactory() {
+ return buildSessionFactory(DEFAULT_RESOURCE);
+ }
+
+ public static SessionFactory getSessionFactory(String resource) {
+ return buildSessionFactory(resource);
+ }
+}
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/entities/Department.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/entities/Department.java
similarity index 80%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/entities/Department.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/entities/Department.java
index 39e69a2b1c0f..129cf90445db 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/entities/Department.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/entities/Department.java
@@ -2,7 +2,11 @@
import java.util.List;
-import jakarta.persistence.*;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
@Entity
public class Department {
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/entities/DeptEmployee.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/entities/DeptEmployee.java
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/entities/DeptEmployee.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/entities/DeptEmployee.java
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/fetchMode/Customer.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/fetchMode/Customer.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/fetchMode/Customer.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/fetchMode/Customer.java
index b8937c66923c..f41c7e451360 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/fetchMode/Customer.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/fetchMode/Customer.java
@@ -1,5 +1,8 @@
package com.baeldung.hibernate.fetchMode;
+import java.util.HashSet;
+import java.util.Set;
+
import org.hibernate.annotations.Fetch;
import org.hibernate.annotations.FetchMode;
@@ -7,8 +10,6 @@
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
-import java.util.HashSet;
-import java.util.Set;
@Entity
public class Customer {
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/fetchMode/Order.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/fetchMode/Order.java
similarity index 80%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/fetchMode/Order.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/fetchMode/Order.java
index 5be65bac0de8..23872ef5e6c9 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/fetchMode/Order.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/fetchMode/Order.java
@@ -1,6 +1,10 @@
package com.baeldung.hibernate.fetchMode;
-import jakarta.persistence.*;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
@Entity
public class Order {
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/lob/HibernateSessionUtil.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/lob/HibernateSessionUtil.java
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/lob/HibernateSessionUtil.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/lob/HibernateSessionUtil.java
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/lob/model/User.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/lob/model/User.java
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/lob/model/User.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/lob/model/User.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/HibernateUtil.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/HibernateUtil.java
new file mode 100644
index 000000000000..f1ba1fdd250a
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/HibernateUtil.java
@@ -0,0 +1,88 @@
+package com.baeldung.hibernate.persistmaps;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Properties;
+
+import org.apache.commons.lang3.StringUtils;
+import org.hibernate.SessionFactory;
+import org.hibernate.boot.Metadata;
+import org.hibernate.boot.MetadataSources;
+import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
+import org.hibernate.service.ServiceRegistry;
+
+import com.baeldung.hibernate.Strategy;
+
+public class HibernateUtil {
+ private static String PROPERTY_FILE_NAME;
+ private HibernateUtil() {
+ }
+
+ public static SessionFactory getSessionFactory() throws IOException {
+ return getSessionFactory("");
+ }
+
+ public static SessionFactory getSessionFactory(String propertyFileName) throws IOException {
+ if(propertyFileName.equals("")) propertyFileName = null;
+ PROPERTY_FILE_NAME = propertyFileName;
+ ServiceRegistry serviceRegistry = configureServiceRegistry();
+ return makeSessionFactory(serviceRegistry);
+ }
+
+ public static SessionFactory getSessionFactory(Strategy strategy) {
+ return buildSessionFactory(strategy);
+ }
+
+ private static SessionFactory buildSessionFactory(Strategy strategy) {
+ try {
+ ServiceRegistry serviceRegistry = configureServiceRegistry();
+
+ MetadataSources metadataSources = new MetadataSources(serviceRegistry);
+
+ for (Class> entityClass : strategy.getEntityClasses()) {
+ metadataSources.addAnnotatedClass(entityClass);
+ }
+
+ Metadata metadata = metadataSources.getMetadataBuilder()
+ .build();
+
+ return metadata.getSessionFactoryBuilder()
+ .build();
+ } catch (IOException ex) {
+ throw new ExceptionInInitializerError(ex);
+ }
+ }
+
+ private static SessionFactory makeSessionFactory(ServiceRegistry serviceRegistry) {
+ MetadataSources metadataSources = new MetadataSources(serviceRegistry);
+
+ metadataSources.addPackage("com.baeldung.hibernate.pojo");
+
+
+ Metadata metadata = metadataSources.getMetadataBuilder()
+ .build();
+
+ return metadata.getSessionFactoryBuilder()
+ .build();
+
+ }
+
+
+ private static ServiceRegistry configureServiceRegistry() throws IOException {
+ Properties properties = getProperties();
+ return new StandardServiceRegistryBuilder().applySettings(properties)
+ .build();
+ }
+
+ private static Properties getProperties() throws IOException {
+ Properties properties = new Properties();
+ URL propertiesURL = Thread.currentThread()
+ .getContextClassLoader()
+ .getResource(StringUtils.defaultString(PROPERTY_FILE_NAME, "hibernate.properties"));
+ try (FileInputStream inputStream = new FileInputStream(propertiesURL.getFile())) {
+ properties.load(inputStream);
+ }
+ return properties;
+ }
+}
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/ItemType.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/ItemType.java
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/ItemType.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/ItemType.java
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Item.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Item.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Item.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Item.java
index ff8115f5d900..1a9d25403e8a 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Item.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Item.java
@@ -1,5 +1,8 @@
package com.baeldung.hibernate.persistmaps.mapkey;
+import java.util.Date;
+import java.util.Objects;
+
import com.baeldung.hibernate.persistmaps.ItemType;
import jakarta.persistence.Column;
@@ -11,8 +14,6 @@
import jakarta.persistence.Table;
import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;
-import java.util.Date;
-import java.util.Objects;
@Entity
@Table(name = "item")
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Order.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Order.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Order.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Order.java
index e42ceda5defb..893c8915c1bb 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Order.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/Order.java
@@ -1,5 +1,7 @@
package com.baeldung.hibernate.persistmaps.mapkey;
+import java.util.Map;
+
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -10,7 +12,6 @@
import jakarta.persistence.MapKey;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
-import java.util.Map;
@Entity
@Table(name = "orders")
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/User.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/User.java
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/User.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/User.java
index 0a9694f43cbe..ca0727411993 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/User.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkey/User.java
@@ -1,13 +1,13 @@
package com.baeldung.hibernate.persistmaps.mapkey;
+import org.hibernate.validator.constraints.Length;
+
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import jakarta.validation.constraints.Size;
-import org.hibernate.validator.constraints.Length;
-
@Entity
@Table(name="users2")
public class User {
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeycolumn/Order.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeycolumn/Order.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeycolumn/Order.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeycolumn/Order.java
index 3d24c743d780..db04b00b23ba 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeycolumn/Order.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeycolumn/Order.java
@@ -1,5 +1,7 @@
package com.baeldung.hibernate.persistmaps.mapkeycolumn;
+import java.util.Map;
+
import jakarta.persistence.CollectionTable;
import jakarta.persistence.Column;
import jakarta.persistence.ElementCollection;
@@ -9,7 +11,6 @@
import jakarta.persistence.JoinColumn;
import jakarta.persistence.MapKeyColumn;
import jakarta.persistence.Table;
-import java.util.Map;
@Entity
@Table(name = "orders")
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyenumerated/Order.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyenumerated/Order.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyenumerated/Order.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyenumerated/Order.java
index 19622ea01dc1..5a25f919a70c 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyenumerated/Order.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyenumerated/Order.java
@@ -1,5 +1,7 @@
package com.baeldung.hibernate.persistmaps.mapkeyenumerated;
+import java.util.Map;
+
import com.baeldung.hibernate.persistmaps.ItemType;
import com.baeldung.hibernate.persistmaps.mapkey.Item;
@@ -14,7 +16,6 @@
import jakarta.persistence.MapKeyEnumerated;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
-import java.util.Map;
@Entity
@Table(name = "orders")
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Item.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Item.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Item.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Item.java
index 9ed58305dad9..6ea68f5e822a 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Item.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Item.java
@@ -1,5 +1,8 @@
package com.baeldung.hibernate.persistmaps.mapkeyjoincolumn;
+import java.util.Date;
+import java.util.Objects;
+
import com.baeldung.hibernate.persistmaps.ItemType;
import jakarta.persistence.CascadeType;
@@ -14,8 +17,6 @@
import jakarta.persistence.Table;
import jakarta.persistence.Temporal;
import jakarta.persistence.TemporalType;
-import java.util.Date;
-import java.util.Objects;
@Entity
@Table(name = "item")
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Order.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Order.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Order.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Order.java
index 9d20237860b5..bb3c2cb482c6 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Order.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Order.java
@@ -1,5 +1,7 @@
package com.baeldung.hibernate.persistmaps.mapkeyjoincolumn;
+import java.util.Map;
+
import jakarta.persistence.CascadeType;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
@@ -10,7 +12,6 @@
import jakarta.persistence.MapKeyJoinColumn;
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
-import java.util.Map;
@Entity
@Table(name = "orders")
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Seller.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Seller.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Seller.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Seller.java
index ca06db241ec6..e7847d1f5e5d 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Seller.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeyjoincolumn/Seller.java
@@ -1,11 +1,12 @@
package com.baeldung.hibernate.persistmaps.mapkeyjoincolumn;
+import java.util.Objects;
+
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
-import java.util.Objects;
@Entity
@Table(name = "seller")
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeytemporal/Order.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeytemporal/Order.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeytemporal/Order.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeytemporal/Order.java
index 920d693d1681..b27f61c4e7af 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/persistmaps/mapkeytemporal/Order.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/persistmaps/mapkeytemporal/Order.java
@@ -1,5 +1,8 @@
package com.baeldung.hibernate.persistmaps.mapkeytemporal;
+import java.util.Date;
+import java.util.Map;
+
import com.baeldung.hibernate.persistmaps.mapkey.Item;
import jakarta.persistence.CascadeType;
@@ -13,8 +16,6 @@
import jakarta.persistence.OneToMany;
import jakarta.persistence.Table;
import jakarta.persistence.TemporalType;
-import java.util.Date;
-import java.util.Map;
@Entity
@Table(name = "orders")
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/Employee.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/Employee.java
similarity index 81%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/Employee.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/Employee.java
index 7d8a254eec1b..6e5d8d5ab72e 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/Employee.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/Employee.java
@@ -1,13 +1,22 @@
package com.baeldung.hibernate.pojo;
-import org.hibernate.annotations.*;
-
-import jakarta.persistence.Entity;
-import jakarta.persistence.*;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
+import org.hibernate.annotations.Filter;
+import org.hibernate.annotations.FilterDef;
+import org.hibernate.annotations.Formula;
+import org.hibernate.annotations.ParamDef;
+import org.hibernate.annotations.Where;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.OneToMany;
+
@Entity
@Where(clause = "deleted = false")
@FilterDef(name = "incomeLevelFilter", parameters = @ParamDef(name = "incomeLimit", type = Integer.class))
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/EntityDescription.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/EntityDescription.java
similarity index 83%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/EntityDescription.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/EntityDescription.java
index 29befd80f2ba..85284aa977d5 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/EntityDescription.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/EntityDescription.java
@@ -1,12 +1,19 @@
package com.baeldung.hibernate.pojo;
+import java.io.Serializable;
+
import org.hibernate.annotations.Any;
import org.hibernate.annotations.AnyDiscriminator;
import org.hibernate.annotations.AnyDiscriminatorValue;
import org.hibernate.annotations.AnyKeyJavaClass;
-import jakarta.persistence.*;
-import java.io.Serializable;
+import jakarta.persistence.Column;
+import jakarta.persistence.DiscriminatorType;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
@Entity
public class EntityDescription implements Serializable {
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/Phone.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/Phone.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/Phone.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/Phone.java
index e173aa8b470b..afe44d7ad5fb 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/Phone.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/Phone.java
@@ -1,10 +1,11 @@
package com.baeldung.hibernate.pojo;
+import java.io.Serializable;
+
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
-import java.io.Serializable;
@Entity
public class Phone implements Serializable {
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/Result.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/Result.java
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/Result.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/Result.java
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/generator/MyGenerator.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/generator/MyGenerator.java
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/pojo/generator/MyGenerator.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/pojo/generator/MyGenerator.java
diff --git a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/SpringContextTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/SpringContextTest.java
deleted file mode 100644
index e1650dccd2cd..000000000000
--- a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/SpringContextTest.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.baeldung;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.springframework.test.context.ContextConfiguration;
-import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
-import org.springframework.test.context.support.AnnotationConfigContextLoader;
-
-import com.baeldung.hibernate.manytomany.PersistenceConfig;
-
-@RunWith(SpringJUnit4ClassRunner.class)
-@ContextConfiguration(classes = { PersistenceConfig.class }, loader = AnnotationConfigContextLoader.class)
-public class SpringContextTest {
-
- @Test
- public void whenSpringContextIsBootstrapped_thenNoExceptions() {
- }
-}
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/CustomClassIntegrationTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/CustomClassIntegrationTest.java
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/CustomClassIntegrationTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/CustomClassIntegrationTest.java
index 56165d7880dc..8821cd09f1c6 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/CustomClassIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/CustomClassIntegrationTest.java
@@ -6,7 +6,6 @@
import java.io.IOException;
import java.util.List;
-import com.baeldung.hibernate.entities.DeptEmployee;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.query.Query;
@@ -15,6 +14,7 @@
import org.junit.jupiter.api.Test;
import com.baeldung.hibernate.entities.Department;
+import com.baeldung.hibernate.entities.DeptEmployee;
import com.baeldung.hibernate.pojo.Result;
public class CustomClassIntegrationTest {
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/DynamicMappingIntegrationTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/DynamicMappingIntegrationTest.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/DynamicMappingIntegrationTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/DynamicMappingIntegrationTest.java
index 833c5cc3ffbf..cee46e51a86b 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/DynamicMappingIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/DynamicMappingIntegrationTest.java
@@ -1,18 +1,19 @@
package com.baeldung.hibernate;
-import com.baeldung.hibernate.pojo.Employee;
-import com.baeldung.hibernate.pojo.EntityDescription;
-import com.baeldung.hibernate.pojo.Phone;
+import static org.assertj.core.api.Assertions.assertThat;
+
+import java.io.IOException;
+import java.util.List;
+
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import java.io.IOException;
-import java.util.List;
-
-import static org.assertj.core.api.Assertions.assertThat;
+import com.baeldung.hibernate.pojo.Employee;
+import com.baeldung.hibernate.pojo.EntityDescription;
+import com.baeldung.hibernate.pojo.Phone;
public class DynamicMappingIntegrationTest {
diff --git a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/booleanconverters/HibernateBooleanConverterIntegrationTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/booleanconverters/HibernateBooleanConverterIntegrationTest.java
index 3235485e96a3..67202884b3a1 100644
--- a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/booleanconverters/HibernateBooleanConverterIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/booleanconverters/HibernateBooleanConverterIntegrationTest.java
@@ -13,7 +13,6 @@
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
-import com.baeldung.hibernate.HibernateUtil;
import com.baeldung.hibernate.booleanconverters.model.Question;
public class HibernateBooleanConverterIntegrationTest {
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/lob/LobUnitTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/lob/LobUnitTest.java
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/lob/LobUnitTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/lob/LobUnitTest.java
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyColumnIntegrationTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyColumnIntegrationTest.java
similarity index 97%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyColumnIntegrationTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyColumnIntegrationTest.java
index acd77ee38269..6059f452cd86 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyColumnIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyColumnIntegrationTest.java
@@ -1,8 +1,12 @@
package com.baeldung.hibernate.persistmaps;
-import com.baeldung.hibernate.HibernateUtil;
-import com.baeldung.hibernate.Strategy;
-import com.baeldung.hibernate.persistmaps.mapkeycolumn.Order;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.junit.After;
@@ -11,12 +15,8 @@
import org.junit.BeforeClass;
import org.junit.Test;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.hibernate.Strategy;
+import com.baeldung.hibernate.persistmaps.mapkeycolumn.Order;
public class MapKeyColumnIntegrationTest {
private static SessionFactory sessionFactory;
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyEnumeratedIntegrationTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyEnumeratedIntegrationTest.java
similarity index 98%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyEnumeratedIntegrationTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyEnumeratedIntegrationTest.java
index 221aa7b1d796..2413f6cc3249 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyEnumeratedIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyEnumeratedIntegrationTest.java
@@ -1,9 +1,14 @@
package com.baeldung.hibernate.persistmaps;
-import com.baeldung.hibernate.HibernateUtil;
-import com.baeldung.hibernate.Strategy;
-import com.baeldung.hibernate.persistmaps.mapkey.Item;
-import com.baeldung.hibernate.persistmaps.mapkeyenumerated.Order;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.time.Instant;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.junit.After;
@@ -12,14 +17,9 @@
import org.junit.BeforeClass;
import org.junit.Test;
-import java.time.Instant;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.hibernate.Strategy;
+import com.baeldung.hibernate.persistmaps.mapkey.Item;
+import com.baeldung.hibernate.persistmaps.mapkeyenumerated.Order;
public class MapKeyEnumeratedIntegrationTest {
private static SessionFactory sessionFactory;
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyIntegrationTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyIntegrationTest.java
similarity index 98%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyIntegrationTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyIntegrationTest.java
index b500deb78e5f..b340b396e10b 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyIntegrationTest.java
@@ -1,9 +1,14 @@
package com.baeldung.hibernate.persistmaps;
-import com.baeldung.hibernate.HibernateUtil;
-import com.baeldung.hibernate.Strategy;
-import com.baeldung.hibernate.persistmaps.mapkey.Item;
-import com.baeldung.hibernate.persistmaps.mapkey.Order;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.time.Instant;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.junit.After;
@@ -12,14 +17,9 @@
import org.junit.BeforeClass;
import org.junit.Test;
-import java.time.Instant;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.hibernate.Strategy;
+import com.baeldung.hibernate.persistmaps.mapkey.Item;
+import com.baeldung.hibernate.persistmaps.mapkey.Order;
public class MapKeyIntegrationTest {
private static SessionFactory sessionFactory;
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyJoinColumnIntegrationTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyJoinColumnIntegrationTest.java
similarity index 98%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyJoinColumnIntegrationTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyJoinColumnIntegrationTest.java
index 88b22f5c9915..3cd6df773eb1 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyJoinColumnIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyJoinColumnIntegrationTest.java
@@ -1,10 +1,14 @@
package com.baeldung.hibernate.persistmaps;
-import com.baeldung.hibernate.HibernateUtil;
-import com.baeldung.hibernate.Strategy;
-import com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Item;
-import com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Order;
-import com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Seller;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.time.Instant;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.junit.After;
@@ -13,14 +17,10 @@
import org.junit.BeforeClass;
import org.junit.Test;
-import java.time.Instant;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.hibernate.Strategy;
+import com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Item;
+import com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Order;
+import com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Seller;
public class MapKeyJoinColumnIntegrationTest {
private static SessionFactory sessionFactory;
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyTemporalIntegrationTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyTemporalIntegrationTest.java
similarity index 98%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyTemporalIntegrationTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyTemporalIntegrationTest.java
index 7117cad22f40..2084714b4dae 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyTemporalIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/persistmaps/MapKeyTemporalIntegrationTest.java
@@ -1,9 +1,14 @@
package com.baeldung.hibernate.persistmaps;
-import com.baeldung.hibernate.HibernateUtil;
-import com.baeldung.hibernate.Strategy;
-import com.baeldung.hibernate.persistmaps.mapkey.Item;
-import com.baeldung.hibernate.persistmaps.mapkeytemporal.Order;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.time.Instant;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.junit.After;
@@ -12,14 +17,9 @@
import org.junit.BeforeClass;
import org.junit.Test;
-import java.time.Instant;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import com.baeldung.hibernate.Strategy;
+import com.baeldung.hibernate.persistmaps.mapkey.Item;
+import com.baeldung.hibernate.persistmaps.mapkeytemporal.Order;
public class MapKeyTemporalIntegrationTest {
private static SessionFactory sessionFactory;
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/validation/UserAdditionalValidationUnitTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/validation/UserAdditionalValidationUnitTest.java
similarity index 99%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/validation/UserAdditionalValidationUnitTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/validation/UserAdditionalValidationUnitTest.java
index 17212173ec5e..dfd0a68ecd54 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/validation/UserAdditionalValidationUnitTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/validation/UserAdditionalValidationUnitTest.java
@@ -9,10 +9,6 @@
import javax.money.Monetary;
import javax.money.MonetaryAmount;
-import jakarta.validation.ConstraintViolation;
-import jakarta.validation.Validation;
-import jakarta.validation.Validator;
-import jakarta.validation.ValidatorFactory;
import org.hibernate.validator.constraints.CodePointLength;
import org.hibernate.validator.constraints.CreditCardNumber;
@@ -28,6 +24,11 @@
import org.junit.BeforeClass;
import org.junit.Test;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.Validation;
+import jakarta.validation.Validator;
+import jakarta.validation.ValidatorFactory;
+
public class UserAdditionalValidationUnitTest {
private static Validator validator;
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/validation/UserValidationUnitTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/validation/UserValidationUnitTest.java
similarity index 97%
rename from persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/validation/UserValidationUnitTest.java
rename to persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/validation/UserValidationUnitTest.java
index 495ad657be02..bdd186ad1ee1 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/validation/UserValidationUnitTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/validation/UserValidationUnitTest.java
@@ -1,21 +1,25 @@
package com.baeldung.hibernate.validation;
import static org.junit.Assert.assertEquals;
+
import java.util.Set;
-import jakarta.persistence.PersistenceException;
-import jakarta.validation.ConstraintViolation;
-import jakarta.validation.Validation;
-import jakarta.validation.Validator;
-import jakarta.validation.ValidatorFactory;
+
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
-import com.baeldung.hibernate.HibernateUtil;
+
+import com.baeldung.hibernate.persistmaps.HibernateUtil;
import com.baeldung.hibernate.Strategy;
import com.baeldung.hibernate.persistmaps.mapkey.User;
+import jakarta.persistence.PersistenceException;
+import jakarta.validation.ConstraintViolation;
+import jakarta.validation.Validation;
+import jakarta.validation.Validator;
+import jakarta.validation.ValidatorFactory;
+
public class UserValidationUnitTest {
private static Validator validator;
diff --git a/persistence-modules/hibernate-mapping-2/src/test/resources/hibernate.properties b/persistence-modules/hibernate-mapping-2/src/test/resources/hibernate.properties
new file mode 100644
index 000000000000..c14782ce0f50
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/test/resources/hibernate.properties
@@ -0,0 +1,14 @@
+hibernate.connection.driver_class=org.h2.Driver
+hibernate.connection.url=jdbc:h2:mem:mydb1;DB_CLOSE_DELAY=-1
+hibernate.connection.username=sa
+hibernate.connection.autocommit=true
+jdbc.password=
+
+hibernate.dialect=org.hibernate.dialect.H2Dialect
+hibernate.show_sql=true
+hibernate.hbm2ddl.auto=create-drop
+
+hibernate.c3p0.min_size=5
+hibernate.c3p0.max_size=20
+hibernate.c3p0.acquire_increment=5
+hibernate.c3p0.timeout=1800
diff --git a/persistence-modules/hibernate-mapping/src/test/resources/profile.png b/persistence-modules/hibernate-mapping-2/src/test/resources/profile.png
similarity index 100%
rename from persistence-modules/hibernate-mapping/src/test/resources/profile.png
rename to persistence-modules/hibernate-mapping-2/src/test/resources/profile.png
diff --git a/persistence-modules/hibernate-mapping/README.md b/persistence-modules/hibernate-mapping/README.md
index 984f49bb70d1..11e4c596f0a0 100644
--- a/persistence-modules/hibernate-mapping/README.md
+++ b/persistence-modules/hibernate-mapping/README.md
@@ -4,13 +4,10 @@ This module contains articles about Object-relational Mapping (ORM) with Hiberna
### Relevant Articles:
-- [Persisting Maps with Hibernate](https://www.baeldung.com/hibernate-persisting-maps)
- [Difference Between @Size, @Length, and @Column(length=value)](https://www.baeldung.com/jpa-size-length-column-differences)
-- [Hibernate Validator Specific Constraints](https://www.baeldung.com/hibernate-validator-constraints)
-- [Dynamic Mapping with Hibernate](https://www.baeldung.com/hibernate-dynamic-mapping)
- [Hibernate Inheritance Mapping](https://www.baeldung.com/hibernate-inheritance)
-- [Mapping A Hibernate Query to a Custom Class](https://www.baeldung.com/hibernate-query-to-custom-class)
- [Hibernate – Mapping Date and Time](https://www.baeldung.com/hibernate-date-time)
-- [Mapping LOB Data in Hibernate](https://www.baeldung.com/hibernate-lob)
-- [FetchMode in Hibernate](https://www.baeldung.com/hibernate-fetchmode)
- [Mapping PostgreSQL Array With Hibernate](https://www.baeldung.com/java-hibernate-map-postgresql-array)
+- [Hibernate Many to Many Annotation Tutorial](https://www.baeldung.com/hibernate-many-to-many)
+- [Generate UUIDs as Primary Keys With Hibernate](https://www.baeldung.com/java-hibernate-uuid-primary-key)
+- [Understanding JPA/Hibernate Associations](https://www.baeldung.com/jpa-hibernate-associations)
\ No newline at end of file
diff --git a/persistence-modules/hibernate-mapping/pom.xml b/persistence-modules/hibernate-mapping/pom.xml
index 6cf312c4bc61..e9a234fda676 100644
--- a/persistence-modules/hibernate-mapping/pom.xml
+++ b/persistence-modules/hibernate-mapping/pom.xml
@@ -13,6 +13,25 @@
+
+
+ org.springframework
+ spring-context
+ ${org.springframework.version}
+
+
+
+ org.springframework.data
+ spring-data-jpa
+ ${org.springframework.data.version}
+
+
+
+ org.springframework
+ spring-test
+ ${org.springframework.version}
+ test
+
org.postgresql
postgresql
@@ -40,22 +59,6 @@
hibernate-validator
${hibernate-validator.version}
-
- org.glassfish.expressly
- expressly
- 5.0.0
-
-
- javax.money
- money-api
- ${money-api.version}
-
-
- org.javamoney
- moneta
- ${moneta.version}
- pom
-
org.apache.commons
commons-lang3
@@ -71,19 +74,27 @@
jackson-module-jakarta-xmlbind-annotations
${jackson-module-jakarta-xmlbind-annotation}
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
- org.openjdk.nashorn
- nashorn-core
- 15.4
+ org.apache.tomcat
+ tomcat-dbcp
+ ${tomcat-dbcp.version}
+
+ 6.0.6
+ 3.0.3
2.1.214
2.21.1
8.0.1.Final
- 1.1
- 1.4.2
+ 9.0.0.M26
2.16.0
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Course.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Course.java
similarity index 81%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Course.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Course.java
index 52d01c027cb4..bb984be9b0a7 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Course.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Course.java
@@ -1,7 +1,13 @@
package com.baeldung.associations.biredirectional;
-import jakarta.persistence.*;
+
import java.util.List;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+
@Entity
public class Course {
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Department.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Department.java
similarity index 74%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Department.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Department.java
index 23f56ccd4741..e701c4c34253 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Department.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Department.java
@@ -1,7 +1,10 @@
package com.baeldung.associations.biredirectional;
import java.util.List;
-import jakarta.persistence.*;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.OneToMany;
@Entity
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Employee.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Employee.java
similarity index 82%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Employee.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Employee.java
index 1e04379ae2dd..f8435d2f1a58 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Employee.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Employee.java
@@ -1,6 +1,9 @@
package com.baeldung.associations.biredirectional;
-import jakarta.persistence.*;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
@Entity
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Student.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Student.java
similarity index 86%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Student.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Student.java
index 81e608f88ee3..043f3e5f116f 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/biredirectional/Student.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/biredirectional/Student.java
@@ -2,7 +2,9 @@
import java.util.List;
-import jakarta.persistence.*;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.ManyToMany;
@Entity
public class Student {
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Author.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Author.java
similarity index 75%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Author.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Author.java
index 7e023683dc04..07d4c2639941 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Author.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Author.java
@@ -1,7 +1,14 @@
package com.baeldung.associations.unidirectional;
-import jakarta.persistence.*;
+
import java.util.Set;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.ManyToMany;
+
@Entity
public class Author {
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Book.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Book.java
similarity index 73%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Book.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Book.java
index 25b192fb6bb9..aa25ba3ed0fe 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Book.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Book.java
@@ -1,8 +1,16 @@
package com.baeldung.associations.unidirectional;
-import jakarta.persistence.*;
import java.util.Set;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.JoinTable;
+import jakarta.persistence.ManyToMany;
+
@Entity
public class Book {
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Department.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Department.java
similarity index 75%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Department.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Department.java
index 3d65f2e3efe4..25a246d28faf 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Department.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Department.java
@@ -1,8 +1,13 @@
package com.baeldung.associations.unidirectional;
-import jakarta.persistence.*;
import java.util.List;
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.OneToMany;
+
@Entity
public class Department {
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Employee.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Employee.java
similarity index 78%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Employee.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Employee.java
index c9fa2c748366..f7e0df7530dd 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/Employee.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/Employee.java
@@ -1,5 +1,11 @@
package com.baeldung.associations.unidirectional;
-import jakarta.persistence.*;
+
+import jakarta.persistence.Entity;
+import jakarta.persistence.FetchType;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.ManyToOne;
+import jakarta.persistence.OneToOne;
@Entity
public class Employee {
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/ParkingSpot.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/ParkingSpot.java
similarity index 64%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/ParkingSpot.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/ParkingSpot.java
index 6495d895eb80..cbc014651770 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/associations/unidirectional/ParkingSpot.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/associations/unidirectional/ParkingSpot.java
@@ -1,6 +1,7 @@
package com.baeldung.associations.unidirectional;
-import jakarta.persistence.*;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
@Entity
public class ParkingSpot {
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/HibernateUtil.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/HibernateUtil.java
index cbd73832a4e9..ca68951b7cc8 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/HibernateUtil.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/HibernateUtil.java
@@ -12,10 +12,6 @@
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.service.ServiceRegistry;
-import com.baeldung.hibernate.entities.DeptEmployee;
-import com.baeldung.hibernate.pojo.Employee;
-import com.baeldung.hibernate.pojo.EntityDescription;
-import com.baeldung.hibernate.pojo.Phone;
import com.baeldung.hibernate.pojo.TemporalValues;
import com.baeldung.hibernate.pojo.inheritance.Animal;
import com.baeldung.hibernate.pojo.inheritance.Bag;
@@ -72,12 +68,6 @@ private static SessionFactory makeSessionFactory(ServiceRegistry serviceRegistry
MetadataSources metadataSources = new MetadataSources(serviceRegistry);
metadataSources.addPackage("com.baeldung.hibernate.pojo");
- metadataSources.addAnnotatedClass(Employee.class);
- metadataSources.addAnnotatedClass(Phone.class);
- metadataSources.addAnnotatedClass(EntityDescription.class);
- metadataSources.addAnnotatedClass(TemporalValues.class);
- metadataSources.addAnnotatedClass(DeptEmployee.class);
- metadataSources.addAnnotatedClass(com.baeldung.hibernate.entities.Department.class);
metadataSources.addAnnotatedClass(Animal.class);
metadataSources.addAnnotatedClass(Bag.class);
metadataSources.addAnnotatedClass(Laptop.class);
@@ -88,6 +78,7 @@ private static SessionFactory makeSessionFactory(ServiceRegistry serviceRegistry
metadataSources.addAnnotatedClass(Pen.class);
metadataSources.addAnnotatedClass(Pet.class);
metadataSources.addAnnotatedClass(Vehicle.class);
+ metadataSources.addAnnotatedClass(TemporalValues.class);
Metadata metadata = metadataSources.getMetadataBuilder()
.build();
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/Strategy.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/Strategy.java
index b0bc095b43bd..6967417f03c9 100644
--- a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/Strategy.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/Strategy.java
@@ -6,17 +6,8 @@
public enum Strategy {
//See that the classes belongs to different packages
- MAP_KEY_COLUMN_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkeycolumn.Order.class,
- com.baeldung.hibernate.basicannotation.Course.class)),
- MAP_KEY_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkey.Item.class,
- com.baeldung.hibernate.persistmaps.mapkey.Order.class,com.baeldung.hibernate.persistmaps.mapkey.User.class)),
- MAP_KEY_JOIN_COLUMN_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Seller.class,
- com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Item.class,
- com.baeldung.hibernate.persistmaps.mapkeyjoincolumn.Order.class)),
- MAP_KEY_ENUMERATED_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkeyenumerated.Order.class,
- com.baeldung.hibernate.persistmaps.mapkey.Item.class)),
- MAP_KEY_TEMPORAL_BASED(Arrays.asList(com.baeldung.hibernate.persistmaps.mapkeytemporal.Order.class,
- com.baeldung.hibernate.persistmaps.mapkey.Item.class));
+ MAP_KEY_COLUMN_BASED(Arrays.asList(com.baeldung.hibernate.mapkeycolumn.Order.class,
+ com.baeldung.hibernate.basicannotation.Course.class));
private List> entityClasses;
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/HibernateUtil.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/HibernateUtil.java
new file mode 100644
index 000000000000..3c7e84bc14df
--- /dev/null
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/HibernateUtil.java
@@ -0,0 +1,55 @@
+package com.baeldung.hibernate.manytomany;
+
+import org.hibernate.SessionFactory;
+import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.service.ServiceRegistry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.baeldung.hibernate.manytomany.model.Employee;
+import com.baeldung.hibernate.manytomany.model.Project;
+import com.baeldung.hibernate.uuids.Element;
+import com.baeldung.hibernate.uuids.Reservation;
+import com.baeldung.hibernate.uuids.Sale;
+import com.baeldung.hibernate.uuids.WebSiteUser;
+
+public class HibernateUtil {
+
+
+ private static final String DEFAULT_RESOURCE = "manytomany.cfg.xml";
+ private static final Logger LOGGER = LoggerFactory.getLogger(HibernateUtil.class);
+
+ private static SessionFactory buildSessionFactory(String resource) {
+ try {
+ // Create the SessionFactory from hibernate-annotation.cfg.xml
+ Configuration configuration = new Configuration();
+ configuration.addAnnotatedClass(WebSiteUser.class);
+ configuration.addAnnotatedClass(Element.class);
+ configuration.addAnnotatedClass(Reservation.class);
+ configuration.addAnnotatedClass(Sale.class);
+ configuration.addAnnotatedClass(Employee.class);
+ configuration.addAnnotatedClass(Project.class);
+ configuration.configure(resource);
+ LOGGER.debug("Hibernate Annotation Configuration loaded");
+
+ ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties())
+ .build();
+ LOGGER.debug("Hibernate Annotation serviceRegistry created");
+
+ return configuration.buildSessionFactory(serviceRegistry);
+ } catch (Throwable ex) {
+ LOGGER.error("Initial SessionFactory creation failed.", ex);
+ throw new ExceptionInInitializerError(ex);
+ }
+ }
+
+ public static SessionFactory getSessionFactory() {
+ return buildSessionFactory(DEFAULT_RESOURCE);
+ }
+
+ public static SessionFactory getSessionFactory(String resource) {
+ return buildSessionFactory(resource);
+ }
+
+}
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/PersistenceConfig.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/PersistenceConfig.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/PersistenceConfig.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/PersistenceConfig.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/IEmployeeDao.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/IEmployeeDao.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/IEmployeeDao.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/IEmployeeDao.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/IProjectDao.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/IProjectDao.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/IProjectDao.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/IProjectDao.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/common/AbstractDao.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/common/AbstractDao.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/common/AbstractDao.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/common/AbstractDao.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/common/AbstractHibernateDao.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/common/AbstractHibernateDao.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/common/AbstractHibernateDao.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/common/AbstractHibernateDao.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/common/IOperations.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/common/IOperations.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/common/IOperations.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/common/IOperations.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/impl/EmployeeDao.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/impl/EmployeeDao.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/impl/EmployeeDao.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/impl/EmployeeDao.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/impl/ProjectDao.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/impl/ProjectDao.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/dao/impl/ProjectDao.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/dao/impl/ProjectDao.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/model/Employee.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/model/Employee.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/model/Employee.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/model/Employee.java
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/model/Project.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/model/Project.java
similarity index 100%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/manytomany/model/Project.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/manytomany/model/Project.java
diff --git a/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/mapkeycolumn/Order.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/mapkeycolumn/Order.java
new file mode 100644
index 000000000000..a94f110f428a
--- /dev/null
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/mapkeycolumn/Order.java
@@ -0,0 +1,44 @@
+package com.baeldung.hibernate.mapkeycolumn;
+
+import java.util.Map;
+
+import jakarta.persistence.CollectionTable;
+import jakarta.persistence.Column;
+import jakarta.persistence.ElementCollection;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.Id;
+import jakarta.persistence.JoinColumn;
+import jakarta.persistence.MapKeyColumn;
+import jakarta.persistence.Table;
+
+@Entity
+@Table(name = "orders")
+public class Order {
+ @Id
+ @GeneratedValue
+ @Column(name = "id")
+ private int id;
+
+ @ElementCollection
+ @CollectionTable(name = "order_item_mapping", joinColumns = {@JoinColumn(name = "order_id", referencedColumnName = "id")})
+ @MapKeyColumn(name = "item_name")
+ @Column(name = "price")
+ private Map itemPriceMap;
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int id) {
+ this.id = id;
+ }
+
+ public Map getItemPriceMap() {
+ return itemPriceMap;
+ }
+
+ public void setItemPriceMap(Map itemPriceMap) {
+ this.itemPriceMap = itemPriceMap;
+ }
+}
\ No newline at end of file
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/Element.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/Element.java
similarity index 95%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/Element.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/Element.java
index 5112c6df0f80..0144d76efd85 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/Element.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/Element.java
@@ -1,9 +1,9 @@
package com.baeldung.hibernate.uuids;
-import java.util.UUID;
+import org.hibernate.annotations.UuidGenerator;
+
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
-import org.hibernate.annotations.UuidGenerator;
@Entity
public class Element {
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/Reservation.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/Reservation.java
similarity index 99%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/Reservation.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/Reservation.java
index 389376e7851e..68c6a7ed8523 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/Reservation.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/Reservation.java
@@ -1,10 +1,11 @@
package com.baeldung.hibernate.uuids;
import java.util.UUID;
-import jakarta.persistence.Id;
+
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
+import jakarta.persistence.Id;
@Entity
public class Reservation {
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/Sale.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/Sale.java
similarity index 83%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/Sale.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/Sale.java
index 8eaab809122f..ee7e96c86678 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/Sale.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/Sale.java
@@ -1,13 +1,11 @@
package com.baeldung.hibernate.uuids;
-import jakarta.persistence.Id;
-import jakarta.persistence.Entity;
+import java.util.UUID;
+
import org.hibernate.annotations.UuidGenerator;
-import java.util.UUID;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
-import org.hibernate.annotations.UuidGenerator;
@Entity
public class Sale {
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/WebSiteUser.java b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/WebSiteUser.java
similarity index 99%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/WebSiteUser.java
rename to persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/WebSiteUser.java
index b1a115a3b930..b313b5fa0530 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/hibernate/uuids/WebSiteUser.java
+++ b/persistence-modules/hibernate-mapping/src/main/java/com/baeldung/hibernate/uuids/WebSiteUser.java
@@ -1,11 +1,13 @@
package com.baeldung.hibernate.uuids;
-import java.util.UUID;
import java.time.LocalDate;
-import jakarta.persistence.Id;
-import jakarta.persistence.Entity;
+import java.util.UUID;
+
import org.hibernate.annotations.UuidGenerator;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+
@Entity
public class WebSiteUser {
diff --git a/persistence-modules/hibernate-mapping/src/main/resources/hibernate-annotation.cfg.xml b/persistence-modules/hibernate-mapping/src/main/resources/hibernate-annotation.cfg.xml
index 9b97c0393536..09e9f4d4152b 100644
--- a/persistence-modules/hibernate-mapping/src/main/resources/hibernate-annotation.cfg.xml
+++ b/persistence-modules/hibernate-mapping/src/main/resources/hibernate-annotation.cfg.xml
@@ -12,10 +12,6 @@
create
thread
true
-
-
-
-
-
+
diff --git a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/InheritanceMappingIntegrationTest.java b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/InheritanceMappingIntegrationTest.java
index 7f4cac141c96..244128326dbe 100644
--- a/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/InheritanceMappingIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/InheritanceMappingIntegrationTest.java
@@ -8,6 +8,7 @@
import org.hibernate.Transaction;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import com.baeldung.hibernate.pojo.inheritance.Bag;
diff --git a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java
similarity index 98%
rename from persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java
rename to persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java
index e4fcafcb56ab..532fb9b91e9c 100644
--- a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationJavaConfigMainIntegrationTest.java
@@ -7,6 +7,7 @@
import org.hibernate.SessionFactory;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -17,6 +18,8 @@
import com.baeldung.hibernate.manytomany.model.Employee;
import com.baeldung.hibernate.manytomany.model.Project;
+
+@Ignore
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { PersistenceConfig.class }, loader = AnnotationConfigContextLoader.class)
public class HibernateManyToManyAnnotationJavaConfigMainIntegrationTest {
@@ -38,6 +41,7 @@ public final void after() {
session.close();
}
+
@Test
public final void whenEntitiesAreCreated_thenNoExceptions() {
Set projects = new HashSet();
diff --git a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java
similarity index 98%
rename from persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java
rename to persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java
index 7c6861e63bbd..56eb407d7ab9 100644
--- a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java
@@ -17,7 +17,6 @@
import com.baeldung.hibernate.manytomany.model.Employee;
import com.baeldung.hibernate.manytomany.model.Project;
-import com.baeldung.hibernate.HibernateUtil;
/**
* Configured in: manytomany.cfg.xml
diff --git a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/uuids/UUIDsHibernateGenerationIntegrationTest.java b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/uuids/UUIDsHibernateGenerationIntegrationTest.java
similarity index 97%
rename from persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/uuids/UUIDsHibernateGenerationIntegrationTest.java
rename to persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/uuids/UUIDsHibernateGenerationIntegrationTest.java
index f36a4333c3b3..ff3dc1fc0777 100644
--- a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/uuids/UUIDsHibernateGenerationIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping/src/test/java/com/baeldung/hibernate/uuids/UUIDsHibernateGenerationIntegrationTest.java
@@ -1,16 +1,16 @@
package com.baeldung.hibernate.uuids;
-import com.baeldung.hibernate.HibernateUtil;
-
-import org.assertj.core.api.Assertions;
import java.io.IOException;
+import java.time.LocalDate;
+import java.util.UUID;
-import org.hibernate.SessionFactory;
+import org.assertj.core.api.Assertions;
import org.hibernate.Session;
+import org.hibernate.SessionFactory;
import org.junit.Before;
import org.junit.Test;
-import java.util.UUID;
-import java.time.LocalDate;
+
+import com.baeldung.hibernate.manytomany.HibernateUtil;
public class UUIDsHibernateGenerationIntegrationTest {
diff --git a/persistence-modules/hibernate-mapping/src/test/resources/manytomany.cfg.xml b/persistence-modules/hibernate-mapping/src/test/resources/manytomany.cfg.xml
new file mode 100644
index 000000000000..db7bc6ab8ee7
--- /dev/null
+++ b/persistence-modules/hibernate-mapping/src/test/resources/manytomany.cfg.xml
@@ -0,0 +1,16 @@
+
+
+
+
+ org.h2.Driver
+
+ jdbc:h2:mem:spring_hibernate_many_to_many;MODE=LEGACY
+ sa
+ org.hibernate.dialect.H2Dialect
+ thread
+ false
+ create-drop
+
+
\ No newline at end of file
diff --git a/persistence-modules/hibernate-mapping/src/test/resources/persistence-h2.properties b/persistence-modules/hibernate-mapping/src/test/resources/persistence-h2.properties
new file mode 100644
index 000000000000..087ac996c1ee
--- /dev/null
+++ b/persistence-modules/hibernate-mapping/src/test/resources/persistence-h2.properties
@@ -0,0 +1,6 @@
+# jdbc.X
+jdbc.driverClassName=org.h2.Driver
+jdbc.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1;MODE=LEGACY
+jdbc.eventGeneratedId=sa
+jdbc.user=sa
+jdbc.pass=
\ No newline at end of file