update pom

This commit is contained in:
Dragomir Alin 2024-04-16 18:40:20 +03:00
parent 754fa52b6c
commit 8e38f00e63
2 changed files with 152 additions and 4 deletions

View File

@ -24,6 +24,11 @@
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
@ -39,7 +44,6 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring-boot.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
@ -51,20 +55,41 @@
<artifactId>hibernate-spatial</artifactId>
<version>${hibernate.version}</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>ch.vorburger.mariaDB4j</groupId>
<artifactId>mariaDB4j</artifactId>
<version>${mariaDB4j.version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-testing</artifactId>
<version>${hibernate.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>${jmh-generator.version}</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>${postgresql.version}</version>
</dependency>
</dependencies>
<properties>
<mysql.version>8.2.0</mysql.version>
<hibernate.version>6.4.2.Final</hibernate.version>
<mariaDB4j.version>2.6.0</mariaDB4j.version>
<spring-boot.version>3.0.4</spring-boot.version>
<h2.version>2.1.214</h2.version>
<org.slf4j.version>2.0.7</org.slf4j.version>
<logback.version>1.4.6</logback.version>
</properties>
</project>
</project>

View File

@ -3,6 +3,128 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<!-- Persistence unit for H2 -->
<persistence-unit name="com.baeldung.hibernate.entitymanager.game_player_h2">
<description>EntityManager getReference persistence unit</description>
<class>com.baeldung.hibernate.entitymanager.getreference.Game</class>
<class>com.baeldung.hibernate.entitymanager.getreference.Player</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<!-- even if we set exclude-unlisted-classes=true, strangely it's not enough to exclude defined hbm files in hibernate.cfg.xml.
So, some entities out of the scope unwillingly managed by our persistence unit. In order to prevent this, we disable autodetection
of the hbm files completely. When we set this property, hibernate ignores the exclude-unlisted-classes property. -->
<property name="hibernate.archive.autodetection" value=""/>
<property name="hibernate.jpa.compliance.proxy" value="false"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.generate_statistics" value="false"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
<property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver"/>
<property name="jakarta.persistence.jdbc.url" value="jdbc:h2:mem:db1;DB_CLOSE_DELAY=-1"/>
<property name="jakarta.persistence.jdbc.user" value="sa"/>
<property name="jakarta.persistence.jdbc.password" value=""/>
<property name="hibernate.id.db_structure_naming_strategy" value="legacy" />
<!-- ensure backward compatibility -->
<property name="hibernate.type.preferred_duration_jdbc_type" value="BIGINT" />
<property name="hibernate.type.preferred_instant_jdbc_type" value="TIMESTAMP" />
</properties>
</persistence-unit>
<!-- Persistence unit for MySQL -->
<persistence-unit name="com.baeldung.hibernate.entitymanager.game_player_mysql">
<description>EntityManager getReference persistence unit</description>
<class>com.baeldung.hibernate.entitymanager.getreference.Game</class>
<class>com.baeldung.hibernate.entitymanager.getreference.Player</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<!-- even if we set exclude-unlisted-classes=true, strangely it's not enough to exclude defined hbm files in hibernate.cfg.xml.
So, some entities out of the scope unwillingly managed by our persistence unit. In order to prevent this, we disable autodetection
of the hbm files completely. When we set this property, hibernate ignores the exclude-unlisted-classes property. -->
<property name="hibernate.archive.autodetection" value=""/>
<property name="hibernate.jpa.compliance.proxy" value="false"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.generate_statistics" value="false"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="jakarta.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="jakarta.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/baeldung"/>
<property name="jakarta.persistence.jdbc.user" value="root"/>
<property name="jakarta.persistence.jdbc.password" value="password"/>
<property name="jakarta.persistence.schema-generation.database.action" value="drop-and-create"/>
<property name="jakarta.persistence.schema-generation.create-script-source" value="/META-INF/create-db.sql"/>
<property name="jakarta.persistence.schema-generation.drop-script-source" value="/META-INF/drop-db.sql"/>
<property name="jakarta.persistence.sql-load-script-source" value="/META-INF/data.sql"/>
<property name="hibernate.id.db_structure_naming_strategy" value="legacy" />
<!-- ensure backward compatibility -->
<property name="hibernate.type.preferred_duration_jdbc_type" value="BIGINT" />
<property name="hibernate.type.preferred_instant_jdbc_type" value="TIMESTAMP" />
</properties>
</persistence-unit>
<!-- Persistence unit for PostgreSQL -->
<persistence-unit name="com.baeldung.hibernate.entitymanager.game_player_postgresql">
<description>EntityManager getReference persistence unit</description>
<class>com.baeldung.hibernate.entitymanager.getreference.Game</class>
<class>com.baeldung.hibernate.entitymanager.getreference.Player</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<!-- even if we set exclude-unlisted-classes=true, strangely it's not enough to exclude defined hbm files in hibernate.cfg.xml.
So, some entities out of the scope unwillingly managed by our persistence unit. In order to prevent this, we disable autodetection
of the hbm files completely. When we set this property, hibernate ignores the exclude-unlisted-classes property. -->
<property name="hibernate.archive.autodetection" value=""/>
<property name="hibernate.jpa.compliance.proxy" value="false"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.generate_statistics" value="false"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQLDialect"/>
<property name="jakarta.persistence.jdbc.driver" value="org.postgresql.Driver"/>
<property name="jakarta.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/postgres"/>
<property name="jakarta.persistence.jdbc.user" value="postgres"/>
<property name="jakarta.persistence.jdbc.password" value=""/>
<property name="jakarta.persistence.schema-generation.database.action" value="drop-and-create"/>
<property name="jakarta.persistence.schema-generation.create-script-source" value="/META-INF/create-db.sql"/>
<property name="jakarta.persistence.schema-generation.drop-script-source" value="/META-INF/drop-db.sql"/>
<property name="jakarta.persistence.sql-load-script-source" value="/META-INF/data.sql"/>
<property name="hibernate.id.db_structure_naming_strategy" value="legacy" />
<!-- ensure backward compatibility -->
<property name="hibernate.type.preferred_duration_jdbc_type" value="BIGINT" />
<property name="hibernate.type.preferred_instant_jdbc_type" value="TIMESTAMP" />
</properties>
</persistence-unit>
<persistence-unit name="com.baeldung.hibernate.serializable.h2_persistence_unit">
<description>EntityManager serializable persistence unit</description>
<class>com.baeldung.hibernate.serializable.Email</class>
<class>com.baeldung.hibernate.serializable.Account</class>
<class>com.baeldung.hibernate.serializable.User</class>
<class>com.baeldung.hibernate.serializable.UserId</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.generate_statistics" value="false"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
<property name="jakarta.persistence.jdbc.driver" value="org.h2.Driver"/>
<property name="jakarta.persistence.jdbc.url" value="jdbc:h2:mem:db2;DB_CLOSE_DELAY=-1"/>
<property name="jakarta.persistence.jdbc.user" value="sa"/>
<property name="jakarta.persistence.jdbc.password" value=""/>
<property name="hibernate.id.db_structure_naming_strategy" value="legacy" />
<!-- ensure backward compatibility -->
<property name="hibernate.type.preferred_duration_jdbc_type" value="BIGINT" />
<property name="hibernate.type.preferred_instant_jdbc_type" value="TIMESTAMP" />
<property name="hibernate.globally_quoted_identifiers" value="true"/>
</properties>
</persistence-unit>
<persistence-unit name="com.baeldung.contextvsunit.h2_persistence_unit" transaction-type="RESOURCE_LOCAL">
<description>EntityManager serializable persistence unit</description>
<class>com.baeldung.contextvsunit.entity.Product</class>
@ -18,5 +140,6 @@
<property name="jakarta.persistence.jdbc.password" value=""/>
</properties>
</persistence-unit>
</persistence>
</persistence>