본문 바로가기

hibernate3

03. 당신의 @Transactional의 readOnly 옵션 잘 쓰고 있나요? 시작하며 오늘은 Spring에서 마법의 어노테이션이라고 부르는 @Transactional의 readOnly 옵션에 대하여 이야기해보려고 한다. 엥? @Transactional에는 readOnly라는 옵션이 없는데? 엥? @Transactional에는 readOnly 옵션이 없는데 이게 무슨일이죠? 없는 걸로 이야기를 하려고 하는 건가? 우리는 이번 readOnly 이야기를 하기 전에 @Transactional은 2가지 있다는 것을 이야기하고 넘어가려고 한다. 이 2가지가 궁극적으로 하려고 하는 일은 동일하다. (실제 Spring AOP 상에서는 javax 패키지의 트랜젝션과 Spring 패키지의 트랜젝션도 모두 지원하고 있다.) Spring 패키지를 통해 제공되는 어노테이션이 더 많은 옵션을 제공하게 된.. 2021. 2. 4.
02. 알아두면 쓸떼있는 GeneratedValue 이야기 Part1 시작하며 우리는 Entity를 만들 때 우리는 PK (Primary Key)를 지정한다. 그중에서도 Primary Key를 선택할 때, 전략적으로 생각했을 때 순차 증가 값을 포기할 수가 없다. 과연 그럼 JPA에서는 이런 대체 키를 어떻게 생성하고, 어떤식으로 동작하는지에 대해 알아보도록 하자. GeneratedValue란? import javax.persistence.*; import java.io.Serializable; import java.time.LocalDateTime; @Table(name = "coupon") @Entity @Getter @Setter public class Coupon implements Serializable { private static final long seria.. 2020. 6. 4.
01. 그 Enum 사용 방법은 틀렸다. (Attribute Converter에 대해 알아보자) 시작 우리는 개발을 하다 보면 열거형 타입의 데이터를 많이 다루게 된다. 가장 흔한 데이터로는 '남성', '여성'이 있기도 있을 것이고 계절이라는 데이터에서는 '봄', '여름', '가을', '겨울' 이 있을 것이다. 이제 DB로 다시 이야기를 해보자. 우리는 DB에 데이터를 효율적이게 넣고 싶을 것이다. 어느 누가 int로 저장 가능한 정보를 '남성' 이런 식으로 값을 낭비하면서 적고 싶겠는가! 오늘은 JPA에서 제공하는 Enum의 처리법에 대해 알아보고, 그중 'Attribute Converter'에 대해 이야기해보려고 한다. @Enumerated 있는데 그거 아님? "이거 이거 정말 멍청한 놈이군.. 우리에겐 @Enumerated이 존재하다고~" 맞다. 우리에겐 @Enumerated가 존재한다. 하지.. 2020. 5. 23.