본문 바로가기 메뉴 바로가기

해봤어?

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

해봤어?

검색하기 폼
  • 분류 전체보기 (30)
    • 기타 (4)
    • spring (14)
    • mysql (1)
    • jpa (4)
    • 내생각 (4)
    • 참고자료 (0)
    • 회고 (0)
  • 방명록

jpa (4)
코틀린답게 JPA Entity 작성하기

코틀린답게 JPA Entity 작성하기 @Entity public class Parents { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; ... } 자바에서는 일반적으로 GeneratedValue를 사용해 id를 설정하며, 별도로 id 값을 초기화하지 않습니다. @Entity data class Parents( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long?, ) { } 하지만 코틀린의 Null Safety 특성 때문에 id를 초기화하지 않고 null 상태로 둘려면 ?를 사용하여 null을 허용해야 합니다. 이는 코틀린의 Null Safety..

jpa 2023. 11. 2. 00:35
JPA 저장은 ID, 조회는 객체로 사용하는법

Comment @Getter @Entity @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Comment extends BaseEntity { private Long roomId; @Column(length = 500) private String comment; @ManyToOne(targetEntity = Member.class, fetch = FetchType.LAZY) @JoinColumn(name = "member_id") private Member member; ... } Member @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Me..

jpa 2023. 10. 10. 20:05
JPA는 SQL Injection으로부터 안전할까?

SQL Injection 이란? 악의적인 SQL문을 실행되게 함으로써 데이터베이스를 비정상적으로 조작하는 코드 인젝션 공격 방법이다. 2017년 3월에 일어난 "여기어때" 의 대규모 개인정보 유출 사건도 SQL Injectrion 으로 인해 피해가 발생하였다. SQL Injectrion 공격은 공격은 쉬운데, 이로 인한 파급효과는 매우크다. 그렇다면 JPA는 SQL Injection 으로 부터 안전할까? SQL Injection 방어하는법 PreparedStatement 사용 Prepared Statement를 사용하면 인자를 넣어주기 전의 쿼리를 DBMS가 미리 컴파일하여 대기하므로 이후, 인자에 대해서는 쿼리가 아닌 단순 문자열로 인식하기 때문에 안전하다. JPA는 SQL Injection으로 부터 ..

jpa 2023. 10. 3. 21:39
JPA Auditing 생성시간/수정시간 자동화

@CreationTimestamp와 @CreatedDate 하이버네이트 애노테이션 자체를 점점 사용하지 않는 추세이다. 생성자 또는 필드에서 초기화하지않는경우 NullPointErexception 발생 생성자 또는 필드에서 초기화하는 경우 데이터베이스에 저장될 값과 객체값의 다르다. @CreationTimestamp, @UpdateTimestamp INSERT 쿼리가 실행될 때, 현재 시간을 값으로 사용하여 쿼리를 생성합니다. 이 값은 persist 또는 new 생성 시점이 아닌 실제 쿼리가 실행될 때(flush) 생성됩니다. @Entity public class Member { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) private Long i..

jpa 2023. 10. 3. 17:44
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • @ElementCollection
  • @Converter
  • 구글 OpenID
  • 구글 소셜로그인
  • DispatcherServletInitializer
  • defer-datasource-initialization
  • entity 검증
  • dto 위치
  • WebFlux 의존성
  • 유저 스토리
  • Spring Boot 3
  • HandlesTypes
  • 유저 시나리오
  • Attribute Converter
  • 레이어드 아키텍처
  • ServletContainerInitializer
  • setDateFormat
  • dto 검증
  • org.springframework:spring-webflux
  • @FormProperty
  • FormProperty
  • feignClient
  • User Scenario
  • ValidateException
  • JPA SQL Injection
  • CreationTimestamp
  • CreatedDate
  • BasicBinder
  • java 17
  • HTTPInterface
more
«   2025/05   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바