저희 강의에서 사용하는 H2 sql schema를 그대로 복붙해왔습니다. 다음과 같습니다. drop table member if exists cascade; create table member ( member_id varchar(10), money integer not null default 0, primary key (member_id) ); 저희 강의에서는 member_id varchar(10). 즉, String 타입의 ID를 PK로 사용하고 있습니다. 하지만 다음 링크를 보시면 실무에서는 String 타입의 ID를 PK로 사용하지 않는다고 답변해주셨습니다. https://onduway.tistory.com/80 그래서, String member_id가 아닌 auto_incremental인 Long id를 pk로 쓰면. 다음과 같을것 같습니다. create table member ( id bigint auto_incremental, member_id varchar(10), money integer not null default 0, primary key (id) ); 그렇다면 member_id를 pk로 쓸때 사용하던 메소드인 public Member findById(String memberId); 는 변화 없이 그대로 사용해야 할까요? 예를들어 member_address 테이블을 상상해보겠습니다. member테이블의 Long Id(pk)를 외래키로 member의 주소를 갖는 테이블입니다. create table member_address ( id bigint auto_incremental, member_id bigint(10), money integer not null default 0, primary key (id) ); member_address를 탐색할때는 String meber_id가 아닌 Long member_id(member의 pk)가 필요합니다. 그렇다면 repository의 메소드가 추가되어야하지 않을까요? 다음과 같이말이죠 public Member findByMemberId(String memberId); public Member findById(Long Id); 그러니 맨 처음 최초 로그인할때만 findByMemberId 메소드를 사용해서 PK를 받아오고. 그 이후의 모든 작업은 PK를 사용하는 findById 메소드를 사용해야 합당한 db설계일것같습니다. 질문을 요약하면 다음과 같습니다. "String 타입의 ID를 PK로 사용하지 않고. auto_incremental인 Long Id를 PK로 사용할때. Repository의 탐색메소드 설계를 어떻게 해야 좋을까?" 최대한 스스로 정리해서 질문하려고 노력해보았습니다. 두서없는 질문글 읽어주셔서 감사합니다.
안녕하세요. 강의 잘 보구있습니다. index 옵션을 주실때 index:true라고 주시길래 index 1 / -1은 오름/내림차순인 것은 알겠는데 true옵션은 뭐지 ?? 싶어서 서치도 해보고 공식 홈페이지도 봤는데 뭔지 모르겠더라구요 ㅠ 공식홈페이지에서도 1 -1 이렇게 많은게 있었는데 혹시 각각이 무슨 의미인지 알 수 있을까요? index true만이라구요. index:true는 그냥 정렬은 하지 않고 주소에 대해서 더 빨리 가져올수 있도록 만들어 놓기만 하는건가요? 만약 맞다면 그냥 find로 하는것과 성능차이가 크게 나까요 ?
Gallery section <div class="col-8 offset-2 text-center mb-5 wow fadeInUp"> fadeInUp에밑줄이 있습니다. 큰솔의 BEM-class names must be in kebab case bem helper(case)이라고 하는데 무슨 문제인가요?
안녕하세요, 고생많으십니다 제가 이때까지 프로젝트 세팅시 maven으로 진행을 해서 gradle에 대해서는 지식이 전무한데, 현업에서 사용 추세가 maven에서 점점 gradle로 이동하는 것 같아 gradle에 대해서 자유자재로 사용할 수 있도록 학습해 보려고하는데, gradle에 대해서 혹시 학습을 어떻게 하는것이 좋은지 알려주실수 있으신가요? 감사합니다.
createItemForm할때와 updateItemForm할때 동일하게 form객체를 넘겨서 html form 태그내에서 th:object=${form} 으로 받아와 사용하는것으로 이해했습니다. 그런데 방식은 동일한데 왜 수정을 하는 페이지에서는 이미 값이 들어와있고 등록을할때는 입력한 값이 등록이 되는지, 그부분에 대한 확실한 이유를 모르겠습니다. 처음 넘겨온 form객체가 비어있는상태에서 submit을 누르면 입력한 값이 form객체안에 세팅되는식이고 반대로 이미 값을 가지고있는 form객체를 가져올경우 input태그속에 값이 들어간채로 로딩이 되는건가요? 그부분에 대해서 따로 if 라거나 그런걸 사용할필요없이 자동으로 타임리프에서 값이 있다 없다를 인식하고 처리를 해주는건가요? 혹은 두가지 경우 모두 form의 값을 가져오는건데 create때는 각 값이 null이기 때문에 빈칸으로 불러와지는거고 두번째는 무언가 값이 있기때문에 인풋칸에 들어있는거다, 라고 이해해도 되는걸까요?
실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
안녕하세요. 이번 강의에서 코틀린 Book 클래스의 프로퍼티 name과 id를 둘 다 val로 선언하였지 않습니까? 제가 알기로는 val로 선언하면 클래스 생성과 동시에 초기화되고 그 이후로는 수정이 불가능한 것으로 알고있습니다. 그런데 JPA + Java에서 엔티티 클래스에 아래처럼 선언하면 JPA 리포지토리의 save 메서드를 호출 한 이후에 id필드에 값이 자동으로 들어가잖아요? @Id @GeneratedValue(strategy = IDENTITY) private Long id; 그런데 코틀린 클래스에서는 id 프로퍼티 선언자체를 val로 해도 테스트가 잘 통과되는걸 봐서는 id 프로퍼티의 val, var 여부와 관계없이 리플렉션(?)을 통해 직접 필드에 접근해서 값을 넣어주기 때문인건가요? 감사합니다.
안녕하세요! 항상 좋은 답변 및 강의 감사드립니다. Vagrant up을 했을 때 다음과 같은 문구가 발생하면서 설치가 안되는데.. 혹시 도움을 좀 부탁 드릴 수 있을까요? 위와 같은 문구가 발생했습니다. C:\HashiCorp\lecture\ch1\1.2\k8s-min-5GiB>vagrant up Bringing machine 'm-k8s-1.20' up with 'virtualbox' provider... Bringing machine 'w1-k8s-1.20' up with 'virtualbox' provider... Bringing machine 'w2-k8s-1.20' up with 'virtualbox' provider... Bringing machine 'w3-k8s-1.20' up with 'virtualbox' provider... ==> m-k8s-1.20: Importing base box 'sysnet4admin/CentOS-k8s'... ==> m-k8s-1.20: Matching MAC address for NAT networking... ==> m-k8s-1.20: Checking if box 'sysnet4admin/CentOS-k8s' version '0.7.4' is up to date... ==> m-k8s-1.20: Setting the name of the VM: m-k8s-1.20(github_SysNet4Admin) ==> m-k8s-1.20: Clearing any previously set network interfaces... The specified host network collides with a non-hostonly network! This will cause your specified IP to be inaccessible. Please change the IP or name of your host only network so that it no longer matches that of a bridged or non-hostonly network. Bridged Network Address: '192.168.1.0' Host-only Network 'Realtek RTL8822CE 802.11ac PCIe Adapter': '192.168.1.0' 또한 제 VM 박스의 네트워크는 다음과 같습니다 뭔가 VM 설치 시 네트워크 문제인 것 같은데.. 도움 주시면 정말 감사드리겠습니다!