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