본문 바로가기

전체 글129

intellij 깃 로그 한글 깨짐 (콘솔 한글 깨짐) 인텔리제이 쓰는데 깃 로그 한글이 깨지는 현상이 발생하였다. 아래 분에게 도움을 받고 해결함 https://thingsthis.tistory.com/328 2022. 12. 8.
트랜잭션(Transaction)이란? 데이터베이스에서 작업을 수행하는 하나의 논리적 단위를 트랜잭션(Transaction)이라고 한다. 트랜잭션읜 4가지 특징을 가지고 있다. 첫번째로는 원자성(Atomicity)이다 . 원자성은 트랜잭션이 수행한 작업 내용이 모두 반영되거나 아니면 어느것도 반영되어선 안된다는 것을 말한다. 두번째는 일관성(Consistency)이다. 트랜잭션 수행 전과 수행 후가 항상 같아야 한다는 성질을 일관성이라고 한다. 세번째는 격리성 (Isolation) 이다. 동시에 실행되는 트랜잭션들은 서로 영향을 미치지 않아야 한다는 것을 격리성이라고 표현한다. 네번째로는 영속성 (Durability) 이다. 성공이 완료된 트랜잭션은 영구적으로 데이터베이스에 반영되어야 한다는 것을 영속성이라고 표현한다. 2022. 12. 7.
[JPA] 지연로딩과 즉시로딩 1. 지연 로딩 LAZY 상황은 이렇게 된다. Member와 Team이 같이 엮여있는 상황이고 Member를 조회하게 되면 Team도 같이 조회하게 된다. 그런데 사정상 Member는 사용할 일이 많은데 Team은 그렇지 않다. 그런데 사용하지도 않는 Team을 계속 조회하게 되면 컴퓨터의 자원을 낭비하는게 된다. 그래서 지.연.로.딩 전략을 사용하게 된다. 짧게 말하자면 지연로딩은 해당 데이터에 접근하게 될 경우에만 쿼리를 날려서 조회하는것을 말한다. 그러면 연관관계로 엮여있어도 조회를 하지 않기 때문에 성능 상의 낭비를 줄일 수 있게 된다. 실무에서는 지연로딩으로 모든 어노테이션을 바르는 것을 권장한다고 말씀 2. 즉시로딩 EAGER 즉시 로딩은 Join쿼리를 통해서 Member와 Team을 모두 한.. 2022. 12. 6.
[자바] toString을 재정의 하라 항상 객체에서 Sysout을 통해서 객체를 나타낼 때마다 16진수의 헥사 코드로 나오면 다시 돌아가서 내가 나타내고 싶은 내용을 표시하곤 했는데 문득 왜 그런지 자세하게 알아보고 싶었다. 찾아보니 아래 주소에 잘 정리 해놓은 분이 계셨다. public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 위와 같은 모습을 띄는데 , 이것을 오버라이드 하여 우리가 객체의 내용을 보기 편하도록 작성하는 것이다. 한줄요약로 요약하자면 이펙티브 자바 3판 아이템 12 - toString 메소드를 항상 재정의 하라 https://hudi.blog/java-correct-purpose-of-tostring/ 2022. 12. 4.