diff --git a/hibernate-project/pom.xml b/hibernate-project/pom.xml
index db4126b..90f5bf0 100644
--- a/hibernate-project/pom.xml
+++ b/hibernate-project/pom.xml
@@ -30,6 +30,13 @@
pom
import
+
+ org.glassfish.jersey
+ jersey-bom
+ 3.1.5
+ pom
+ import
+
@@ -72,6 +79,59 @@
reflections
0.10.2
+
+ org.slf4j
+ slf4j-simple
+ 2.0.17
+
+
+ org.mockito
+ mockito-core
+ 5.17.0
+
+
+
+
+ org.glassfish.jersey.core
+ jersey-server
+
+
+ org.glassfish.jersey.inject
+ jersey-hk2
+
+
+ org.glassfish.jersey.media
+ jersey-media-json-jackson
+
+
+
+
+ com.h2database
+ h2
+ 2.2.224
+ runtime
+
+
+
+ jakarta.servlet
+ jakarta.servlet-api
+ 6.0.0
+ provided
+
+
+ org.eclipse.jetty
+ jetty-server
+ 11.0.25
+
+
+ org.eclipse.jetty
+ jetty-servlet
+ 11.0.25
+
+
+ org.glassfish.jersey.containers
+ jersey-container-servlet
+
diff --git a/hibernate-project/src/main/java/com/humanbooster/App.java b/hibernate-project/src/main/java/com/humanbooster/App.java
index 6a4abbd..8b6d01f 100644
--- a/hibernate-project/src/main/java/com/humanbooster/App.java
+++ b/hibernate-project/src/main/java/com/humanbooster/App.java
@@ -28,7 +28,7 @@ public class App {
SessionFactory sessionFactory;
- if (HibernateConfig.LOCAL) sessionFactory = HibernateConfig.getSessionFactory();
+ if (HibernateConfig.isLocalEnvironment()) sessionFactory = HibernateConfig.getSessionFactory();
else {
StandardServiceRegistry registry = new StandardServiceRegistryBuilder()
diff --git a/hibernate-project/src/main/java/com/humanbooster/config/HibernateConfig.java b/hibernate-project/src/main/java/com/humanbooster/config/HibernateConfig.java
index c5900d2..9f764ce 100644
--- a/hibernate-project/src/main/java/com/humanbooster/config/HibernateConfig.java
+++ b/hibernate-project/src/main/java/com/humanbooster/config/HibernateConfig.java
@@ -7,13 +7,13 @@ import org.reflections.Reflections;
import jakarta.persistence.Entity;
public class HibernateConfig {
+
private static final SessionFactory sessionFactory;
- public static final boolean LOCAL = true;
+ private static final boolean LOCAL = true;
private static String url;
private static String username;
private static String password;
-
static {
if (LOCAL) {
@@ -46,5 +46,9 @@ public class HibernateConfig {
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
+
+ public static boolean isLocalEnvironment() {
+ return LOCAL;
+ }
}
diff --git a/hibernate-project/src/main/java/com/humanbooster/dao/GenericDaoImpl.java b/hibernate-project/src/main/java/com/humanbooster/dao/GenericDaoImpl.java
index 4ea7972..bd502f0 100644
--- a/hibernate-project/src/main/java/com/humanbooster/dao/GenericDaoImpl.java
+++ b/hibernate-project/src/main/java/com/humanbooster/dao/GenericDaoImpl.java
@@ -47,7 +47,7 @@ public abstract class GenericDaoImpl implements GenericDao {
public void delete(ID id) {
try (Session session = sessionFactory.openSession()) {
session.beginTransaction();
- T entity = session.get(entityClass, id);
+ T entity = session.find(entityClass, id);
if (entity != null) session.remove(entity);
session.getTransaction().commit();
}
diff --git a/hibernate-project/src/main/java/com/humanbooster/model/User.java b/hibernate-project/src/main/java/com/humanbooster/model/User.java
index 92c903e..ffa32f7 100644
--- a/hibernate-project/src/main/java/com/humanbooster/model/User.java
+++ b/hibernate-project/src/main/java/com/humanbooster/model/User.java
@@ -1,6 +1,7 @@
package com.humanbooster.model;
import jakarta.persistence.*;
+import jakarta.validation.constraints.NotNull;
import java.util.List;
@@ -11,7 +12,10 @@ public class User {
@GeneratedValue (strategy = GenerationType.IDENTITY)
private Long id;
+ @NotNull
private String name;
+
+ @NotNull
private String email;
@OneToMany(mappedBy="author", cascade = CascadeType.ALL, orphanRemoval = true)