Java147 [해결 방법] java.sql.SQLIntegrityConstraintViolationException 🌿 기본 환경: IDE: STS4, Language: Java JPA entity로 생성한 테이블에 trigger를 통해 데이터를 INSERT하고자 할 경우, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 DELIMITER // CREATE TRIGGER tempSeqTrigger BEFORE INSERT ON tempUser FOR EACH ROW BEGIN DECLARE sequence_value INT; INSERT INTO tempSeq VALUES (NULL); SET sequence_value = LAST_INSERT_ID(); SET NEW.id = CONCAT(NEW.type, LPAD(sequence_value, 6, '0')); END// DELIMITER ; 🚨 다음과 같.. 2023. 6. 25. [JPA] @PrePersist 🌿 기본 환경: IDE: STS4, Language: Java JPA에서 Custom ID를 부여하기 위해서는 테이블 작업 이후, 추가적인 과정이 필요 MySQL에서는 Sequence를 제공하지 않으므로 그에 대한 대안으로, sequence 테이블을 만들고 trigger와 연동시키는 과정이 필요 1. Sequence table 생성 1 2 3 4 CREATE TABLE tempSeq ( sequence_value INT AUTO_INCREMENT PRIMARY KEY ); 2. Trigger를 선언하여 seq를 사용하는 테이블과 연결 1 2 3 4 5 6 7 8 9 10 11 12 13 14 DELIMITER // CREATE TRIGGER tempSeqTrigger BEFORE INSERT ON tem.. 2023. 6. 25. [JPA] JOIN Null값 처리 🟦 기본 환경: IDE: IntelliJ, Language: Java 1 2 3 4 5 6 7 8 @Repository public interface TestDAO extends JpaRepository { @Query("SELECT t1, t2 FROM TestOne t1 LEFT JOIN ue.testTwo t2") List findAllWithTestOneTwo(); } 다음 소스코드를 실행하게 될 경우, TestTwo entity에 저장된 데이터가 없더라도 null값으로 조회가 가능(LEFT JOIN) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 public List testList() { List queryResult = testDAO.f.. 2023. 6. 20. [해결 방법] org.springframework.http.converter.HttpMessageNotWritableException 🟦 기본 환경: IDE: IntelliJ, Language: Java SpringBoot의 MainApplication에서 양방향 참조 관계가 있는 Entity의 데이터를 호출할 경우,🚨 다음과 같은 Error 발생org.springframework.http.converter.HttpMessageNotWritableException: Could not write JSON: Infinite recursion (StackOverflowError) 발생 원인Entity 객체간 양방향 참조관계가 있을 경우, 엔티티를 반환하여 JSON으로 변경할 경우, serialize(직렬화) 과정을 거치는데, 이때 객체간 상호 참조를 통해 무한 재귀 발생 해결 방법1. 양방향 참조 관계의 필드에 @JsonIgnor.. 2023. 6. 18. [해결 방법] java: array required, but java.util.List<> found 🟦 기본 환경: IDE: IntelliJ, Language: Java SpringBoot의 MainApplication에서 다음 Source Code를 실행할 경우, 1 2 3 4 5 6 7 @GetMapping("/") public List list() { List items = itemStoryService.itemList(); System.out.println(items[0]) return items; } 🚨 다음과 같은 Error 발생 java: array required, but java.util.List found 발생 원인 List data type에서 인덱스로 직접 접근 해결 방법 List는 인덱스로 직접 접근하는 것이 아니라 get() 메서드를 사용하여 요소에 접근 1 2 3 4 5 6 .. 2023. 6. 18. [해결 방법] java.lang.StackOverflowError: null 🟦 기본 환경: IDE: IntelliJ, Language: Java SpringBoot의 MainApplication에서 다음 Source Code를 실행할 경우, 1 2 3 4 5 6 7 @GetMapping("/") public List list() { List items = itemStoryService.itemList(); System.out.println(items) return items; } 🚨 다음과 같은 Error 발생 java.lang.StackOverflowError: null 발생 원인 @Data: 클래스의 Getter, Setter, equals(), hashCode(), toString() 등의 메서드를 자동으로 생성 클래스 내의 모든 필드를 포함한 문자열을 생성하기 위해 각 .. 2023. 6. 18. 이전 1 ··· 9 10 11 12 13 14 15 ··· 25 다음