diff --git a/persistence-modules/hibernate-jpa/pom.xml b/persistence-modules/hibernate-jpa/pom.xml
index 086e487eb9..5a99c1c4d0 100644
--- a/persistence-modules/hibernate-jpa/pom.xml
+++ b/persistence-modules/hibernate-jpa/pom.xml
@@ -83,7 +83,6 @@
- 6.1.7.Final
8.0.32
2.6.0
3.0.4
@@ -92,4 +91,4 @@
1.4.6
-
\ No newline at end of file
+
diff --git a/persistence-modules/hibernate-jpa/src/test/java/com/baeldung/hibernate/jpacriteriabuilder/EmployeeSearchServiceIntegrationTest.java b/persistence-modules/hibernate-jpa/src/test/java/com/baeldung/hibernate/jpacriteriabuilder/EmployeeSearchServiceIntegrationTest.java
index d9bffcfc08..16d1057285 100644
--- a/persistence-modules/hibernate-jpa/src/test/java/com/baeldung/hibernate/jpacriteriabuilder/EmployeeSearchServiceIntegrationTest.java
+++ b/persistence-modules/hibernate-jpa/src/test/java/com/baeldung/hibernate/jpacriteriabuilder/EmployeeSearchServiceIntegrationTest.java
@@ -81,13 +81,10 @@ public class EmployeeSearchServiceIntegrationTest {
@Test
public final void givenCriteriaQuery_whenSearchedUsingCriteriaBuilderWithListofAuthors_thenResultIsFilteredByAuthorNames() {
- List titles = new ArrayList<>() {
- {
- add("Manager");
- add("Senior Manager");
- add("Director");
- }
- };
+ List titles = new ArrayList<>();
+ titles.add("Manager");
+ titles.add("Senior Manager");
+ titles.add("Director");
List result = searchService.filterbyTitleUsingCriteriaBuilder(titles);
assertEquals("Number of Employees does not match with expected.", 6, result.size());
assertThat(result.stream()
diff --git a/persistence-modules/hibernate-mapping-2/pom.xml b/persistence-modules/hibernate-mapping-2/pom.xml
index a56f67b202..1b9a3e45d3 100644
--- a/persistence-modules/hibernate-mapping-2/pom.xml
+++ b/persistence-modules/hibernate-mapping-2/pom.xml
@@ -62,7 +62,6 @@
6.0.6
3.0.3
- 6.1.7.Final
9.0.0.M26
4.0.2
2.1.214
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/manytomany/util/HibernateUtil.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/HibernateUtil.java
similarity index 80%
rename from persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/manytomany/util/HibernateUtil.java
rename to persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/HibernateUtil.java
index d429564564..26ad7e77ba 100644
--- a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/manytomany/util/HibernateUtil.java
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/HibernateUtil.java
@@ -1,4 +1,4 @@
-package com.baeldung.manytomany.util;
+package com.baeldung;
import org.hibernate.SessionFactory;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
@@ -9,6 +9,10 @@ import org.slf4j.LoggerFactory;
import com.baeldung.manytomany.model.Employee;
import com.baeldung.manytomany.model.Project;
+import com.baeldung.uuids.WebSiteUser;
+import com.baeldung.uuids.Element;
+import com.baeldung.uuids.Reservation;
+import com.baeldung.uuids.Sale;
public class HibernateUtil {
@@ -21,6 +25,10 @@ public class HibernateUtil {
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.configure("manytomany.cfg.xml");
LOGGER.debug("Hibernate Annotation Configuration loaded");
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/Element.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/Element.java
new file mode 100644
index 0000000000..1a17cba90c
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/Element.java
@@ -0,0 +1,32 @@
+package com.baeldung.uuids;
+
+import java.util.UUID;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import org.hibernate.annotations.UuidGenerator;
+
+@Entity
+public class Element {
+
+ @Id
+ @UuidGenerator
+ private String id;
+
+ private String name;
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+}
\ No newline at end of file
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/Reservation.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/Reservation.java
new file mode 100644
index 0000000000..83b232d940
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/Reservation.java
@@ -0,0 +1,43 @@
+package com.baeldung.uuids;
+
+import java.util.UUID;
+import jakarta.persistence.Id;
+import jakarta.persistence.Entity;
+import jakarta.persistence.GeneratedValue;
+import jakarta.persistence.GenerationType;
+
+@Entity
+public class Reservation {
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.UUID)
+ private UUID id;
+
+ private String status;
+
+ private String number;
+
+ public UUID getId() {
+ return id;
+ }
+
+ public void setId(UUID id) {
+ this.id = id;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public String getNumber() {
+ return number;
+ }
+
+ public void setNumber(String number) {
+ this.number = number;
+ }
+}
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/Sale.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/Sale.java
new file mode 100644
index 0000000000..f9b1c246cd
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/Sale.java
@@ -0,0 +1,36 @@
+package com.baeldung.uuids;
+
+import jakarta.persistence.Id;
+import jakarta.persistence.Entity;
+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 {
+
+ @Id
+ @UuidGenerator
+ private UUID id;
+
+ private boolean completed;
+
+ public UUID getId() {
+ return id;
+ }
+
+ public void setId(UUID id) {
+ this.id = id;
+ }
+
+ public boolean isCompleted() {
+ return completed;
+ }
+
+ public void setCompleted(boolean completed) {
+ this.completed = completed;
+ }
+}
\ No newline at end of file
diff --git a/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/WebSiteUser.java b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/WebSiteUser.java
new file mode 100644
index 0000000000..1150c03dcc
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/main/java/com/baeldung/uuids/WebSiteUser.java
@@ -0,0 +1,33 @@
+package com.baeldung.uuids;
+
+import java.util.UUID;
+import java.time.LocalDate;
+import jakarta.persistence.Id;
+import jakarta.persistence.Entity;
+import org.hibernate.annotations.UuidGenerator;
+
+@Entity
+public class WebSiteUser {
+
+ @Id
+ @UuidGenerator(style = UuidGenerator.Style.TIME)
+ private UUID id;
+
+ private LocalDate registrationDate;
+
+ public UUID getId() {
+ return id;
+ }
+
+ public void setId(UUID id) {
+ this.id = id;
+ }
+
+ public LocalDate getRegistrationDate() {
+ return registrationDate;
+ }
+
+ public void setRegistrationDate(LocalDate registrationDate) {
+ this.registrationDate = registrationDate;
+ }
+}
diff --git a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java
index 5255cb040f..15ad2c50b9 100644
--- a/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/manytomany/HibernateManyToManyAnnotationMainIntegrationTest.java
@@ -17,7 +17,7 @@ import org.junit.Test;
import com.baeldung.manytomany.model.Employee;
import com.baeldung.manytomany.model.Project;
-import com.baeldung.manytomany.util.HibernateUtil;
+import com.baeldung.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-2/src/test/java/com/baeldung/hibernate/uuids/UUIDsHibernateGenerationIntegrationTest.java
new file mode 100644
index 0000000000..7d605484ed
--- /dev/null
+++ b/persistence-modules/hibernate-mapping-2/src/test/java/com/baeldung/hibernate/uuids/UUIDsHibernateGenerationIntegrationTest.java
@@ -0,0 +1,78 @@
+package com.baeldung.hibernate.uuids;
+
+import com.baeldung.HibernateUtil;
+
+import com.baeldung.uuids.Reservation;
+import com.baeldung.uuids.Sale;
+import com.baeldung.uuids.WebSiteUser;
+import com.baeldung.uuids.Element;
+import org.assertj.core.api.Assertions;
+import java.io.IOException;
+
+import org.hibernate.SessionFactory;
+import org.hibernate.Session;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.Test;
+import java.util.UUID;
+import java.time.LocalDate;
+
+public class UUIDsHibernateGenerationIntegrationTest {
+
+ private SessionFactory sessionFactory;
+
+ private Session session;
+
+ @Before
+ public void setUp() throws IOException {
+ sessionFactory = HibernateUtil.getSessionFactory();
+ session = sessionFactory.openSession();
+ }
+
+ @Test
+ public void whenGeneratingUUIDUsingNewJPAGenerationType_thenHibernateGeneratedUUID() throws IOException {
+ Reservation reservation = new Reservation();
+ reservation.setStatus("created");
+ reservation.setNumber("12345");
+ UUID saved = (UUID) session.save(reservation);
+ Assertions.assertThat(saved).isNotNull();
+ }
+
+ @Test
+ public void whenGeneratingUUIDUsingNewJPAGenerationType_thenHibernateGeneratedUUIDOfVersion4() throws IOException {
+ Reservation reservation = new Reservation();
+ reservation.setStatus("new");
+ reservation.setNumber("012");
+ UUID saved = (UUID) session.save(reservation);
+ Assertions.assertThat(saved).isNotNull();
+ Assertions.assertThat(saved.version()).isEqualTo(4);
+ }
+
+ @Test
+ public void whenGeneratingUUIDUsingGenericConverter_thenAlsoGetUUIDGeneratedVersion4() throws IOException {
+ Sale sale = new Sale();
+ sale.setCompleted(true);
+ UUID saved = (UUID) session.save(sale);
+ Assertions.assertThat(saved).isNotNull();
+ Assertions.assertThat(saved.version()).isEqualTo(4);
+ }
+
+ @Test
+ public void whenGeneratingTimeBasedUUID_thenUUIDGeneratedVersion1() throws IOException {
+ WebSiteUser user = new WebSiteUser();
+ user.setRegistrationDate(LocalDate.now());
+ UUID saved = (UUID) session.save(user);
+ Assertions.assertThat(saved).isNotNull();
+ Assertions.assertThat(saved.version()).isEqualTo(1);
+ }
+
+ @Test
+ public void whenGeneratingUUIDAsString_thenUUIDGeneratedVersion1() throws IOException {
+ Element element = new Element();
+ element.setName("a");
+ String saved = (String) session.save(element);
+ Assertions.assertThat(saved).isNotEmpty();
+ Assertions.assertThat(UUID.fromString(saved).version()).isEqualTo(4);
+ }
+}
\ No newline at end of file
diff --git a/persistence-modules/pom.xml b/persistence-modules/pom.xml
index 85cf251d18..71158d1ac8 100644
--- a/persistence-modules/pom.xml
+++ b/persistence-modules/pom.xml
@@ -30,7 +30,7 @@
hibernate-mapping-2
- hibernate-exceptions
+
hibernate-libraries
hibernate-jpa
@@ -114,10 +114,10 @@
- 6.1.7.Final
+ 6.2.0.Final
42.5.4
2.3.4
1.16.3
-
\ No newline at end of file
+