IT'S DO
article thumbnail
history Envers로 개발 @Configuration @EnableJpaAuditing
개발/JPA 2022. 7. 21. 15:41

https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-envers/6.0.2.Final Maven Repository: org.hibernate.orm » hibernate-envers » 6.0.2.Final Hibernate's entity version (audit/history) support Note: There is a new version for this artifact org.hibernate.orm hibernate-envers 6.0.2.Final // https://mvnrepository.com/artifact/org.hibernate.orm/hibernate-envers implementation group: 'org.hi..

트랜잭션 실패시 롤백
개념 정리 2022. 7. 21. 14:29

TransactionStatus status = transactionWebhard.getTransaction( new DefaultTransactionDefinition() ); 구글링 해보기 status삐꾸나면 rollback하고 아니면 commit 치고 https://bkjeon1614.tistory.com/492 [spring] 트랜잭션(Transaction) - 1 [spring] 트랜잭션(Transaction) - 1 트랙잭션이란 논리적 단위로 어떤 한 부분의 작업이 완료되었다 하더라도, 다른 부분의 작업이 실패할 경우 전체 취소되는 것이다. 이때, 작업이 완료되는것을 커 bkjeon1614.tistory.com

JPA 나만의 정리 (4) - @ManyToOne , @JoinColumn
개발/JPA 2022. 7. 21. 13:50

@ManyToOne(fetch = FetchType.EAGER) 즉시 로딩(EAGER) fetch 타입을 EAGER로 설정하면 된다. 대부분의 JPA 구현체는 가능하면 조인을 사용해서 SQL 한번에 함께 조회하려고 한다. 이렇게 하면, 실제 조회할 때 한방 쿼리로 다 조회해온다.(실제 Team을 사용할 때 쿼리 안나가도 된다.) 실행 결과를 보면 Team 객체도 프록시 객체가 아니라 실제 객체이다. 출처: https://ict-nroo.tistory.com/132 [개발자의 기록습관:티스토리] 지연 로딩(LAZY) 내부 매커니즘은 위의 그림과 같다. 로딩되는 시점에 Lazy 로딩 설정이 되어있는 Team 엔티티는 프록시 객체로 가져온다. 후에 실제 객체를 사용하는 시점에(Team을 사용하는 시점에) 초기..

JPA 나만의 정리 (3) - 엔티티(Entity)와 매핑
개발/JPA 2022. 7. 21. 12:33

객체와 테이블 매핑 : @Entity, @Table 기본 키 맵핑 : @Id 필드와 컬럼 매핑 : @Column 연관관계 매핑 : @ManyToOne, @JoinColumn 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 32 33 34 35 36 37 38 39 40 41 42 43 @Entity // name과 age Column에 unique 제약조건 추가 @Table(name="MEMBER", uniqueConstraints = {@UniqueConstraint( name = "NAME_AGE_UNIQUE", columnNames = {"NAME", "AGE"} )}) public class Me..