분류 전체보기

    java final static 붙이는 이유, lombok 어노테이션

    https://djkeh.github.io/articles/Why-should-final-member-variables-be-conventionally-static-in-Java-kor/ 왜 자바에서 final 멤버 변수는 관례적으로 static을 붙일까? 자바 final, static 키워드와 코딩 best practice 되짚어보기 djkeh.github.io https://www.daleseo.com/lombok-popular-annotations/ [자바] 자주 사용되는 Lombok 어노테이션 Engineering Blog by Dale Seo www.daleseo.com

    자바 동적 파라미터화 코드 전달하기

    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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 public static List filterGreenApples(List inventory) { List result = new ArrayList(); for (Apple apple : result) { if ("GREEN".equals(apple.getColor())) { result.add(apple); } } return ..

    부트 이것저것...

    부트 이것저것...

    member.address? 에서 ? 는 null 이면 그냥 비워두게끔 하는 것이다. 타임리프에 대해서 좀 알아둬야할 필요가 있을 것 같다. ModelAttribute 의 개념도 더 정확히 알아야한다. getmapping에 나오는 경우를 처음봐서 당황스러웠다. 그리고 merge 가 아니라 dirtychecking 형식으로 진행해야 한다. merge 하면 없는 컬럼들이 null로 들어가게되어서 문제가 생긴다.

    부트와 이것 저것 (RequiredArgsConstructor ...)

    부트와 이것 저것 (RequiredArgsConstructor ...)

    spring boot로 어플리케이션을 하나 만들고 있는데, 이전의 명칭 dao 는 repository로 쓰인다. 조회하는 것 같은 읽는 것은 Transactional 후에 readOnly를 달아두면 성능이 좋은데, 위처럼 MemberService는 1개 빼고 다 이와 같은 케이스여서 그냥 위에 readOnly=true를 달아두고, 읽는 것이 아닐 때에는 그냥 Transactional 를 달아서 차별하였다. default값이 false이기 때문에 가능하다. 저기 위의 사진과 다르게 위의 사진은 setter에 autowired를 해주었다. 저기 위의 사진은 memberrepository 값을 바꾸고 싶어도 못바꾸기 때문에 다음과 같이 사용한 것이다. 하지만, setter는 위험하다. 그래서 다음과 같이 생성..

    앞으로

    날짜 쓰는 것은 무의미 한 것 같다. 포스팅하기 애매한 그런 것들이 있는데 공부를 했다고 기록은 하고싶은데 내용이 없으면 좀 이상할 것 같다... 그냥 내용 정리만 간간히 써야겠다. 그리고 포스팅하기 어려운 저작권 관련도 있어서 그런 것은 그냥 비공개로 올려서 하든가 해야겠다!

    2020.06.21-22 JPA(5)

    2020.06.21-22 JPA(5)

    임베디드 타입은 객체안에 타입을 묶어서 보여주는 구조체라고 생각하면 편할 것 같다. city street zipcode 를 Address 라는 임베디드 타입으로 묶었고 그것을 Member.java에서 사용한 것이다. 하지만 위와 같이 Address 타입이 2개면 컬럼명이 겹치니 문제가 생길 것이다. 이를 위해 AttributeOverride를 통해 바꿔줄 수 있다. 그리고 실행시켜주면 바뀐 이름으로 나오고 오리지널 address 이름으로 나온 것을 확인할 수가 있다. member.java의 임베디드 타입 위에는 @Embedded 그 타입에는 @Embeddable를 사용한 것을 확인가능하다. 임베디드 타입은 해당 값 타입만 사용할 수 있는 의미 있는 메서드를 생성할 수 있다. 재사용성이 높고 응집도가 높다..

    2020.06.18 JPA(4)

    2020.06.18 JPA(4)

    출처 - 김영한님의 강의를 보고 정리하였습니다. 이번에는 상속관계를 매핑해볼 것이다. 3가지의 방법이 있다. 1. 조인 전략 2. 단일 테이블 전략 3. 구현 클래스마다 테이블 전략 밑의 album 과 movie 자바 파일이다. Entity는 붙여주고 상위인 Item 을 extends로 상속 받는다. Item class 이다. @Inheritance(strategy=InheritanceType.JOINED) 를 기입하면 조인 방식이 된다. 조인 방식은 위를 목표로 한다. 다음과 같이 new movie 후에 dir act name price를 기입하고 넣는다. 다음과 같이 나오게 된다. DTYPE은 ITEM 테이블에서 밑의 놈들이 누구인지 알려주는 타입인데, 위의 코드를 보면 @DiscriminatorCo..

    2020.06.17 JPA(3)

    2020.06.17 JPA(3)

    maven webapp으로 생성 build path 로 library new servertime 으로 jsp 오류 해결 main 폴더 밑에 java 생성 test 밑에 resources 생성 main resources 밑에 META-INF 폴더 만들고 persistence.xml 생성 pom.xml도 수정 실습 pjt 다음과 같이 생성. 테이블 생성완료. /test 말고 따로 db 명 해서 만들어줌(jpashop으로 해둠) 실습 pjt end Order.java를 보면 id와 memberId가 있다. 실행을 해서 memberId를 가지고 온 다음에 Member에서 이 memberId를 통해 정보를 가지고 오는 것은 객체스럽지 않다. Order안에 그냥 Member를 넣어주면 더 좋을텐데.. 이것을 해결하..