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