From 3890a12bc3e7adb4d51bb26e617ff4383740bc7e Mon Sep 17 00:00:00 2001 From: vishwab1 Date: Thu, 31 Jul 2025 15:18:41 +0530 Subject: [PATCH 1/3] fix: fixed the user session not found db issue --- .../com/iemr/common/data/userbeneficiarydata/Language.java | 1 - src/main/java/com/iemr/common/data/users/User.java | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/iemr/common/data/userbeneficiarydata/Language.java b/src/main/java/com/iemr/common/data/userbeneficiarydata/Language.java index 9228d0ed..97df44b0 100644 --- a/src/main/java/com/iemr/common/data/userbeneficiarydata/Language.java +++ b/src/main/java/com/iemr/common/data/userbeneficiarydata/Language.java @@ -56,7 +56,6 @@ public class Language private Set i_bendemographics; @OneToMany(fetch = FetchType.LAZY, mappedBy = "m_language") - @Transient private Set m_UserLangMappings; @OneToMany(fetch = FetchType.LAZY, mappedBy = "language") diff --git a/src/main/java/com/iemr/common/data/users/User.java b/src/main/java/com/iemr/common/data/users/User.java index 4710b11d..e6184e60 100644 --- a/src/main/java/com/iemr/common/data/users/User.java +++ b/src/main/java/com/iemr/common/data/users/User.java @@ -28,6 +28,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; import com.google.gson.annotations.Expose; import com.iemr.common.data.callhandling.OutboundCallRequest; import com.iemr.common.data.feedback.FeedbackDetails; @@ -76,7 +77,7 @@ public class User implements Serializable { @Expose // @Transient - @OneToMany(/* mappedBy = "m_user", fetch = FetchType.EAGER */) + @OneToMany(fetch = FetchType.EAGER) @JoinColumn(updatable = false, insertable = false, name = "userID", referencedColumnName = "userID") private Set m_UserLangMappings; @@ -134,12 +135,15 @@ public class User implements Serializable { @Column(name = "AadhaarNo") private String aadhaarNo; @Expose + @JsonProperty("pan") @Column(name = "PAN") private String pAN; @Expose + @JsonProperty("dob") @Column(name = "DOB") private Timestamp dOB; @Expose + @JsonProperty("doj") @Column(name = "DOJ") private Timestamp dOJ; @Expose From 7c40e5bae82a289829e311058e5baae930934fab Mon Sep 17 00:00:00 2001 From: vishwab1 Date: Fri, 1 Aug 2025 14:34:08 +0530 Subject: [PATCH 2/3] fix: fixed the redis config --- .../java/com/iemr/common/CommonApplication.java | 11 +++++++---- .../java/com/iemr/common/config/RedisConfig.java | 15 +++++++++------ .../java/com/iemr/common/data/users/User.java | 3 --- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/iemr/common/CommonApplication.java b/src/main/java/com/iemr/common/CommonApplication.java index 83078018..b9b797b2 100644 --- a/src/main/java/com/iemr/common/CommonApplication.java +++ b/src/main/java/com/iemr/common/CommonApplication.java @@ -33,6 +33,9 @@ import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.web.client.RestTemplate; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.iemr.common.data.users.User; import com.iemr.common.utils.IEMRApplBeans; @@ -63,11 +66,11 @@ public RedisTemplate redisTemplate(RedisConnectionFactory factor RedisTemplate template = new RedisTemplate<>(); template.setConnectionFactory(factory); - // Use StringRedisSerializer for keys (userId) - template.setKeySerializer(new StringRedisSerializer()); - - // Use Jackson2JsonRedisSerializer for values (Users objects) Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer<>(User.class); + ObjectMapper mapper = new ObjectMapper(); + mapper.registerModule(new JavaTimeModule()); + mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + serializer.setObjectMapper(mapper); template.setValueSerializer(serializer); return template; diff --git a/src/main/java/com/iemr/common/config/RedisConfig.java b/src/main/java/com/iemr/common/config/RedisConfig.java index faac71ae..e812b3f9 100644 --- a/src/main/java/com/iemr/common/config/RedisConfig.java +++ b/src/main/java/com/iemr/common/config/RedisConfig.java @@ -29,6 +29,9 @@ import org.springframework.data.redis.serializer.StringRedisSerializer; import org.springframework.session.data.redis.config.ConfigureRedisAction; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; import com.iemr.common.data.users.User; @Configuration @@ -40,15 +43,15 @@ public ConfigureRedisAction configureRedisAction() { } @Bean - public RedisTemplate redisTemplate(RedisConnectionFactory factory) { - RedisTemplate template = new RedisTemplate<>(); + public RedisTemplate redisTemplate(RedisConnectionFactory factory) { + RedisTemplate template = new RedisTemplate<>(); template.setConnectionFactory(factory); - // Use StringRedisSerializer for keys (userId) - template.setKeySerializer(new StringRedisSerializer()); - - // Use Jackson2JsonRedisSerializer for values (Users objects) Jackson2JsonRedisSerializer serializer = new Jackson2JsonRedisSerializer<>(User.class); + ObjectMapper mapper = new ObjectMapper(); + mapper.registerModule(new JavaTimeModule()); + mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS); + serializer.setObjectMapper(mapper); template.setValueSerializer(serializer); return template; diff --git a/src/main/java/com/iemr/common/data/users/User.java b/src/main/java/com/iemr/common/data/users/User.java index e6184e60..89f9911a 100644 --- a/src/main/java/com/iemr/common/data/users/User.java +++ b/src/main/java/com/iemr/common/data/users/User.java @@ -135,15 +135,12 @@ public class User implements Serializable { @Column(name = "AadhaarNo") private String aadhaarNo; @Expose - @JsonProperty("pan") @Column(name = "PAN") private String pAN; @Expose - @JsonProperty("dob") @Column(name = "DOB") private Timestamp dOB; @Expose - @JsonProperty("doj") @Column(name = "DOJ") private Timestamp dOJ; @Expose From 0a458cff1aad887baa87ab98d9f7d96983966eef Mon Sep 17 00:00:00 2001 From: vishwab1 Date: Fri, 1 Aug 2025 15:02:57 +0530 Subject: [PATCH 3/3] fix: added the transit --- .../java/com/iemr/common/data/userbeneficiarydata/Language.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/iemr/common/data/userbeneficiarydata/Language.java b/src/main/java/com/iemr/common/data/userbeneficiarydata/Language.java index 97df44b0..9228d0ed 100644 --- a/src/main/java/com/iemr/common/data/userbeneficiarydata/Language.java +++ b/src/main/java/com/iemr/common/data/userbeneficiarydata/Language.java @@ -56,6 +56,7 @@ public class Language private Set i_bendemographics; @OneToMany(fetch = FetchType.LAZY, mappedBy = "m_language") + @Transient private Set m_UserLangMappings; @OneToMany(fetch = FetchType.LAZY, mappedBy = "language")