diff --git a/pom.xml b/pom.xml
index c2ab6b4..52082a9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,11 +40,6 @@
lombok
true
-
- com.vladmihalcea
- hibernate-types-52
- 2.21.1
-
org.springframework.boot
spring-boot-starter-test
@@ -68,6 +63,11 @@
netty-resolver-dns-native-macos
runtime
+
+ io.hypersistence
+ hypersistence-utils-hibernate-63
+ 3.8.1
+
diff --git a/src/main/java/com/safeqr/app/constants/APIConstants.java b/src/main/java/com/safeqr/app/constants/APIConstants.java
index d0fd8f0..eb8a0db 100644
--- a/src/main/java/com/safeqr/app/constants/APIConstants.java
+++ b/src/main/java/com/safeqr/app/constants/APIConstants.java
@@ -11,6 +11,6 @@ public class APIConstants {
public static final String API_URL_QRCODE_VERIFY_URL = "/qrcodetypes/verifyurl";
public static final String API_URL_QRCODE_VIRUS_TOTAL_CHECK = "/qrcodetypes/virustotalcheck";
public static final String API_URL_QRCODE_REDIRECT_COUNT = "/qrcodetypes/redirectcount";
- public static final String API_URL_QRCODE_GET_SCANNED_DETAILS = "/qrcodetypes/getScannedDetails";
+ public static final String API_URL_QRCODE_GET_QR_DETAILS = "/qrcodetypes/getQRDetails";
}
diff --git a/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java b/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java
index fbb3984..8f87704 100644
--- a/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java
+++ b/src/main/java/com/safeqr/app/qrcode/controller/QRCodeTypeController.java
@@ -43,7 +43,7 @@ public class QRCodeTypeController {
public ResponseEntity> getAllTypes() {
return ResponseEntity.ok(qrCodeTypeService.getAllTypes());
}
- @GetMapping(value = API_URL_QRCODE_GET_SCANNED_DETAILS)
+ @GetMapping(value = API_URL_QRCODE_GET_QR_DETAILS)
public ResponseEntity getScannedQRCodeDetails(@RequestHeader(name="QR-ID") UUID qrCodeId) {
logger.info("Invoking GET QRCode details endpoint, qrCodeId: {}", qrCodeId);
return ResponseEntity.ok(qrCodeTypeService.getScannedQRCodeDetails(qrCodeId));
diff --git a/src/main/java/com/safeqr/app/qrcode/entity/QRCodeEntity.java b/src/main/java/com/safeqr/app/qrcode/entity/QRCodeEntity.java
index 8cee11c..b57790c 100644
--- a/src/main/java/com/safeqr/app/qrcode/entity/QRCodeEntity.java
+++ b/src/main/java/com/safeqr/app/qrcode/entity/QRCodeEntity.java
@@ -30,7 +30,7 @@ public class QRCodeEntity {
private String userId;
private String contents;
- @ManyToOne(fetch = FetchType.LAZY)
+ @ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "qr_code_type_id", nullable = false)
private QRCodeTypeEntity info;
diff --git a/src/main/java/com/safeqr/app/qrcode/entity/URLEntity.java b/src/main/java/com/safeqr/app/qrcode/entity/URLEntity.java
index 62bafb4..476f223 100644
--- a/src/main/java/com/safeqr/app/qrcode/entity/URLEntity.java
+++ b/src/main/java/com/safeqr/app/qrcode/entity/URLEntity.java
@@ -2,6 +2,7 @@ package com.safeqr.app.qrcode.entity;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
+import io.hypersistence.utils.hibernate.type.array.ListArrayType;
import jakarta.persistence.*;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -46,12 +47,15 @@ public class URLEntity {
private int redirect = 0;
+ @Type(ListArrayType.class)
@Column(name = "hsts_header", columnDefinition = "text[]")
private List hstsHeader;
+ @Type(ListArrayType.class)
@Column(name = "ssl_stripping", columnDefinition = "boolean[]")
private List sslStripping;
+ @Type(ListArrayType.class)
@Column(name = "redirect_chain", columnDefinition = "text[]")
private List redirectChain;
}
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index e927dbf..772b4f6 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -14,7 +14,8 @@ spring.datasource.url=${SERVER_DB_URL}
spring.datasource.username=${SERVER_DB_USERNAME}
spring.datasource.password=${SERVER_DB_PASSWORD}
spring.datasource.driver-class-name=${SERVER_DB_DRIVER_CLASS_NAME}
-spring.jpa.database-platform=${SERVER_DB_DIALECT}
+#spring.jpa.database-platform=${SERVER_DB_DIALECT}
+spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.format_sql=true