본문 바로가기
반응형

Spring Framework/JPA23

JPA @CreatedDate Column Update시 Null 되는 현상 해결방법 @CreatedDate @Column(updatable = false) private LocalDateTime created_date; JPA에서 Entity의 컬럼에 @CreatedDate 어노테이션을 사용한 경우 처음 Insert 시에는 정상적으로 현재 시간이 들어가지만 Update 시에 Null이 들어가는 경우가 있는데 해결방법은 Entity로 이동한 후 @Column 우측에 @Column(updatable = false) updateable = false를 추가해주면 삽입 시에는 정상적으로 들어가지만 Update는 되지 않기 때문에 기존 값이 NULL로 변하지 않게 된다 2022. 8. 10.
스프링부트 Querydsl 세팅방법 정리 dependencies { implementation "com.querydsl:querydsl-core:5.0.0" implementation "com.querydsl:querydsl-jpa:5.0.0" implementation "com.querydsl:querydsl-apt:5.0.0" annotationProcessor("com.querydsl:querydsl-apt:5.0.0:jpa") } sourceSets { main { java { srcDirs = ["$projectDir/src/main/java", "$projectDir/build/generated"] } } } 스프링부트에서 Querydsl을 세팅하려면 먼저 build.gradle 파일을 킨 뒤에 dependencies에 queryds.. 2022. 7. 25.
JPA No default constructor for entity 해결방법 sampleRepository.findByGender("W") org.hibernate.InstantiationException: No default constructor for entity: : com.sample.model.Sample JPA 에서 위와 같이 조회하는 경우 No Default Constructor for Entity : Entity명 에러가 발생하는 경우는 Entity에 @Builder 어노테이션을 넣어두었을 경우 해당 Entity를 사용하는 Repository를 호출하면 발생하는데 해결방법은 에러가 발생하는 Entity로 이동한 뒤 @NoArgsConstructor @AllArgsConstructor 두 어노테이션을 클래스 위에 설정해 주거나 혹은 Entity 클래스에서 @Build.. 2022. 7. 24.
JPA @CreatedDate @LastModifiedDate 안될 경우 해결방법 JPA에서 컬럼명 위에 @CreatedDate @LastModifiedDate 어노테이션을 달아주면 최초 생성할 때 / 수정할 때 해당 컬럼에 날짜가 들어가게 되는데 어노테이션을 달았음에도 작동이 되지 않았다면 해당 클래스 상단에 @EntityListeners(AuditingEntityListener.class) 어노테이션을 달아주면 정상적으로 작동한다 2022. 2. 9.
JPA findAll() 사용 시 정렬하여 반환하는 방법 List list명 = repository명.findAll(Sort.by(Sort.Direction.DESC/ASC, "기준컬럼명")); JPA에서 findAll() 메소드를 사용하는 경우 특정 컬럼을 기준으로 정렬을 해서 결과를 받고 싶었는데 sort를 지원하기 때문에 findAll(Sort sort) 이런 식으로 사용이 가능하다 repository명.findAll(Sort.by(Sort.Direction.DESC, "기준컬럼명")); 이렇게 사용한다고 치면 조회한 데이터를 기준컬럼명 기준으로 내림차순(DESC) 정렬한 결과를 반환하게 된다 오름차순으로 정렬해서 반환하고 싶다면 DESC만 ASC로 바꿔주면 끝이다 2022. 1. 10.
스프링부트 JPA persistence.xml MySQL 연결 시 샘플 파일 스프링부트 JPA에서 persistence.xml 을 생성해주려면 자동으로 만드는 방법은 없고 수작업으로 만들어야 하더라 일단 프로젝트 resources 폴더 안에 META-INF 폴더를 만들고 그 안에 persistence.xml 파일을 넣어 준다 다음으로는 아래 내용을 복사 붙여넣기 한 뒤에 서버를 구동해주면 된다 2021. 11. 25.

반응형