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)