From 89b1c533d1b48b8b339b9c74a59c2ce73e6431af Mon Sep 17 00:00:00 2001
From: Joaquín Reñé <jrene@curisit.net>
Date: Tue, 27 May 2025 10:27:57 +0000
Subject: [PATCH] #4399 - Fix JPA and Serialization for new JPA versions (new eclipse envs)
---
securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java b/securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java
index 100b5c4..19879f2 100644
--- a/securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java
+++ b/securis/src/main/java/net/curisit/securis/db/common/PersistentEnumUserType.java
@@ -7,7 +7,7 @@
import java.sql.Types;
import org.hibernate.HibernateException;
-import org.hibernate.engine.spi.SessionImplementor;
+import org.hibernate.engine.spi.SharedSessionContractImplementor;
import org.hibernate.usertype.UserType;
public abstract class PersistentEnumUserType<T extends CodedEnum> implements UserType {
@@ -58,7 +58,8 @@
}
@Override
- public Object nullSafeGet(ResultSet rs, String[] names, SessionImplementor session, Object owner) throws HibernateException, SQLException {
+ public Object nullSafeGet(ResultSet rs, String[] names, SharedSessionContractImplementor session, Object owner)
+ throws HibernateException, SQLException {
String code = rs.getString(names[0]);
for (CodedEnum en : returnedClass().getEnumConstants()) {
if (en.getCode().equals(code)) {
@@ -69,8 +70,13 @@
}
@Override
- public void nullSafeSet(PreparedStatement st, Object value, int index, SessionImplementor session) throws HibernateException, SQLException {
- st.setString(index, value == null ? null : ((CodedEnum) value).getCode());
+ public void nullSafeSet(PreparedStatement st, Object value, int index, SharedSessionContractImplementor session)
+ throws HibernateException, SQLException {
+ if (value == null) {
+ st.setNull(index, java.sql.Types.VARCHAR);
+ } else {
+ st.setString(index, ((CodedEnum) value).getCode());
+ }
}
}
--
Gitblit v1.3.2