묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
mysql 연결관련 에러 질문있습니다
application.yml파일을 작성하기 전에는 libraryappapplicition을 실행하면 잘 되었었은데강의를 따라 yml파일을 작성이후 연결이 되지않는다는 에러가 발생하였습니다 driver-class-name에서 driver를 찾을수 없다고 나오는데 이 문제 때문인것 같아요 혹시 버전이나 어떤 문제 때문인지 궁금합니다
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
dtype not found 에러
package hellojpa; import javax.persistence.*; @Entity @Inheritance(strategy = InheritanceType.JOINED) @DiscriminatorColumn(name="DTYPE") public class Item { @Id @GeneratedValue private Long id; private String name; private int price; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } }이런 식으로 작성해 둔 상태고, create Table 작성 시 DTYPE varchar(31) not null,는 나오는데 그 이후 alter table에서 아이템이 나오지 않고, dtype insert가 안 됩니다
-
미해결코드로 배우는 React 19 with 스프링부트 API서버
목록처리(2) 부분 페이징 처리 관련 오류발생하여 질문드립니다.
페이지처리하는 부분 오류 발생하여 질문 드립니다. import React, { useEffect, useState } from "react"; import { getList } from "../../api/todoApi"; import useCustomMove from "../../hooks/useCustomMove"; import PageComponent from "../common/PageComponent"; const initState = { dtoList: [], pageNumList: [], pageRequestDto: null, prev: false, next: false, totalCount: 0, prevPage: 0, nextPage: 0, totalPage: 0, current: 0, }; const ListComponent = () => { const { moveToList, page, size } = useCustomMove(); const [serverData, setServerData] = useState(initState); useEffect(() => { getList({ page, size }).then((data) => { setServerData(data); }); }, [page, size]); return ( <div className="border-2 border-blue-100 mt-10 mr-2 ml-2"> <div className="flex flex-wrap mx-quto justify-center p-6"> {serverData.dtoList.map((todo) => ( <div key={todo.tno} className="w-full min-w-[400px] p-2 m-2 rounded shadow-md" > <div className="flex"> <div className="font-extrabold text-2xl p-2 w-1/12"> {todo.tno} </div> <div className="text-1xl m-1 p-2 w-8/12 font-extrabold"> {todo.title} </div> <div className="text-1xl m-1 p-2 w-2/10 font-medium"> {todo.dueDate} </div> </div> </div> ))} </div> <PageComponent serverData={serverData} movePage={moveToList} ></PageComponent> </div> ); }; export default ListComponent;listComponent에서 initState 생성하고, setServerData 해서 pageComponent로 전달. const PageComponent = ({ serverData, movePage }) => { console.log("data.prev: " + serverData.prev); return ( <div className="m-6 flex justify-center"> {serverData.prev ? ( <div className="m-2 p-2 w-16 text-center font-bold text-blue-400 " onClick={() => movePage({ page: serverData.prevPage })} > Prev{" "} </div> ) : ( <></> )} {serverData.pageNumList.map((pageNum) => ( <div key={pageNum} className={`m-2 p-2 w-12 text-center rounded shadow-md text-white ${ serverData.current === pageNum ? "bg-gray-500" : "bg-blue-400" }`} onClick={() => movePage({ page: pageNum })} > {pageNum} </div> ))} {serverData.next ? ( <div className="m-2 p-2 w-16 text-center font-bold text-blue-400" onClick={() => movePage({ page: serverData.nextPage })} > Next </div> ) : ( <></> )} </div> ); }; export default PageComponent;pageComponent에서 serverData받아서 데이터 사용하는 부분.이러한 오류 발생합니다...아무리 봐도 어느 부분이 문제 인지 모르겠어요.serverData.prev 로그 찍어봐도 false라고 남는데.. 그리고 또 렌더링을 해서 undefined상태인건지... 어느 부분이 문제일가요 ㅠㅠ? prev를 부분을 지우면 pageNumList 에서 문제가 발생하여 prev만의 문제가 아니라 serverData자체를 받아오지 못하는거같습니다..
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Maven resources compiler 에러가 뜨면서 빌드가 안되네요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]JpaMain.java 실행시 이런 에러가 계속 발생합니다. Maven resources compiler: Maven project configuration required for module 'hello-jpa' isn't available. Compilation of Maven projects is supported only if external build is started from an IDE. persistence.xml은 다음과 같고 <?xml version="1.0" encoding="UTF-8"?> <persistence version="2.2" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd"> <persistence-unit name="hello"> <properties> <!-- 필수 속성 --> <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/> <property name="javax.persistence.jdbc.user" value="sa"/> <property name="javax.persistence.jdbc.password" value=""/> <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/> <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/> <!-- 옵션 --> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="hibernate.use_sql_comments" value="true"/> <!--<property name="hibernate.hbm2ddl.auto" value="create" />--> </properties> </persistence-unit> </persistence>pom.xml은 다음과 같이 했습니다. <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.1</version> <configuration> <source>11</source> <target>11</target> </configuration> </plugin> </plugins> </build> <groupId>org.example</groupId> <artifactId>hello-jpa</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>11</maven.compiler.source> <maven.compiler.target>11</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <!-- JPA 하이버네이트 --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>5.3.10.Final</version> </dependency> <!-- H2 데이터베이스 --> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.200</version> </dependency> <dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.3.0</version> </dependency> </dependencies> </project>진짜 3시간 넘게 하고 있는데 뭐가 문제인지 모르겠네요 pom.xml에 빌드가 등록 안 되어 있다길래 챗지피티한테 물어봐서 따로 추가도 해봤는데 저기서부터 막혀버리니 답이 없네요 진짜 ㅋㅋㅋ 무슨 정확한 에러 사유도 안 뜨고Maven resources compiler: Maven project configuration required for module 'hello-jpa' isn't available. Compilation of Maven projects is supported only if external build is started from an IDE.이런 문장만 계속 보여주니까 답답해 미쳐버리겠습니다.. 데이터베이스는 강의 환경하고 맞추려고 1.4.200으로도 해보고 최신버전으로도 해봤고java 버전도 17, 11 둘 다 해봤는데 둘 다 똑같은 에러가 발생해서 미쳐버리겠습니다 아 참고로 강의에서 제공해주신 최신 버전 코드도 다운 받아서 open으로 열어봤는데 다 똑같은 에러가 발생합니다. 애초에 프로젝트 만들 때부터 잘못 만들어진건지 계속 똑같이 저 상태인데 왜 그러는걸까요..
-
미해결실전! 스프링 데이터 JPA
메소드 이름으로 쿼리 생성에 대한 질문
스프링 데이터 JPA가 제공하는 쿼리 메소드 기능 조회: find…By ,read…By ,query…By get…By예:) findHelloBy 처럼 ...에 식별하기 위한 내용(설명)이 들어가도 된다이 부분에 대한 의문입니다 spring공식문서를 찾아보고 chatgpt 에 질문도 해본 결과 findBy는 항상 붙어있어야 하고 사이에 단어를 넣어 작성하면 안된다는게 제가 얻은 답변인데 강의 자료에는 가능하다고 나와 있습니다어떤게 정확히 맞는건지 혼란스럽네요시간이 흘러서 문법 규칙이 바뀌어서 그런건지이와 관련해 답변 부탁드리겠습니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
updateItem 변경감지 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]Book에는 저 세 가지 필드 말고도 다른 필드도 존재하는데현재 merge가 아니라 변경 감지로 값을 수정하는 것이기 때문에@Transactional public void updateItem(Long itemId, String name, int price, int stockQuantity) { Item findItem = itemRepository.findOne(itemId); findItem.setPrice(price); findItem.setName(name); findItem.setStockQuantity(stockQuantity); }다음과 같은 형태로 사용해도 다른 필드는 null 값으로 바뀌지 않는 거 맞을까요?
-
해결됨실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
[사이드 프로젝트] 하이버네이트 No session 에러 질문 드립니다.(lazyinitializationexception)
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]현재 회원 엔티티 시점 Member(회원) 1 : N Pet(반려견) 일대다 관계인 상태입니다.-Member(회원) 엔티티 -Pet(반려견) 엔티티 연관관계 설정해 둔 모습입니다. -이게 문제가 되고 있는 서비스 로직입니다. MemberRepository에서 회원의 role(역할)을 찾은 후,role(역할)이 CUSTOMER(고객)인 경우 해당 회원의 정보와 갖고 있는 List<>형태의 pet을 한 번에 갖고 와서 DTO로 변환 해서 반환하려고 합니다. 실제로 어떻게 리포지토리에서 조회하고 있는지 보여드리겠습니다. -role(역할)이 CUSTOMER(고객)인 경우 findByCustomerId()로 위와 같이 회원과 pet을 한 번에 조회하고 있습니다. (실제 쿼리문이 나가는 것을 봤을 때도 fetch join 쿼리로 나가서 pet이 프록시가 아닌 실 객체 데이터로 조회되는 것을 확인했고, 디버깅도 해봤는데 pet 컬렉션에 데이터가 있는 것도 확인했습니다.)다음으로 member 엔티티를 DTO로 어떻게 반환하는 지 보여드리겠습니다. -Pet(반려견)을 PetResponse라는 DTO로 다시 바꿔서 반환 시켜주려고 하고 있는 상황이고 -이게 PetResponse 입니다. 여기까지가 현재 저의 문제가 되고 있는 코드와 동작 방식입니다.현재 뜨고 있는 오류는 lazyinitializationexception 에러가 발생하고 있습니다. 알아보니 트랜잭션 주기 안에서 컬렉션을 조회하는 것이 아니라, 하이버네이트 세션이 끝난 후 영속성 컨텍스트가 사라진 상태에서 엔티티가 갖고 있는 컬렉션(pets)을 조회하게 돼서, 트랜잭션 내에 존재한 영속성 컨텍스트 내의 pets를 조회하는 것이 아닌 새로운 영속성 컨텍스트에서 조회를 하게 돼버려서 실 객체 데이터가 조회되는 것이 아닌 프록시 객체가 조회가 되고 있다는 내용으로 이해했습니다. 그래서 제가 여태 해본 방법으로는,서비스 레벨의 findById(long id) 메서드에서 member 정보만 따로 조회하고 pet만을 따로 각각 조회한 후 dto로 반환 해보기 (예: memberRepository.findByid()로 회원만 조회, petRepository.findbyCustomerId()로 pet만 따로 조회 후, new MemberResponse.GetCustomer()로 반환 -> 안됨.(X) 현재 메서드 레벨 위에 작성되어 있는 트랜잭션 어노테이션이 readOnly = true로 읽기 전용이면 pets를 초기화 할 수도 없을 수 있다길래 readOnly = true 옵션도 빼 보기 -> 안됨.(X)yml 설정 파일에 spring: jpa: open-in-view: true 옵션 설정 해보기 -> 안됨.(X)Member(회원) 엔티티에 읽기 전용으로 있는 List<> pets를 지연 로딩이 아닌 즉시로딩으로 바꾸기. -> 이 경우에만 됨.(O)Hibernate.initialize(member.getPets()); 을 사용해서 컬렉션 강제 초기화 하기 -> 안됨.(X) 현재 이렇게 까지 시도해 봤고 pets를 즉시 로딩으로 바꾸는 경우 말고는 아예 되지 않는 상황입니다. 보통 저와 같은 경우 간단하게 해결되는 문제던데 스택오버플로우와 구글의 힘을 빌려 검색해서 시도해 본 결과 해결되지 않았습니다.. 제가 어떤 실수를 하고 있는지, 뭐가 문제인지 봐주시면 감사하겠습니다.!!추가 설명이 필요하거나 깃허브 주소라도 필요하면 댓글로 남기겠습니다!
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계 매핑의 의미가
연관관계 매핑: 객체의 참조와 테이블의 외래키를 매핑하고, 객체간의 관계(다대일관계)와 테이블간의 관계(외래키-기본키관계)를 매핑하는것.객체간의 관계에서는 Member객체는 team필드를 통해 Team객체를 참조한다. 테이블간의 관계에서는 MEMBER테이블의 외래키(TEAM_ID)를 통해 TEAM테이블을 참조한다. 이렇게 객체와 테이블은 구조적으로 다르기 떄문에 객체간의 관계와 테이블간의 관계를 동일하게 해주기 위해 연관관계 매핑이 필요하다. team필드를 통해 Team객체를 참조하던것을 외래키(TEAM_ID)를 통해 기본키(id)를 참조하도록 변경한것이라고 생각하면된다. 이렇게 이해하고 정리해봤는데 이게 맞을까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계 매핑의 의미
안녕하세요.연관관계 매핑의 의미가 객체의 참조와 테이블의 외래키를 매핑하는것을 의미하는것인가요? 아니면 객체간의 관계와 테이블간의 관계를 매핑하는것을 의미하는것인가요?비슷한 의미이지만 헷갈려서 질문드립니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
JPQL 기본 함수에서 substring
[질문 내용]member.setUsername("member1); 한 회원의 이름을 셋팅하고 substring으로 쿼리를 작성하였을 때 String query = "select substring(m.username, 1, 3) from Member m"; substring(m.username, 1, 3) 에서 몇번째 문자에서 자를지 넣는 숫자에 1이나 0을 넣어도 같은 "mem" 이 출력 되는데"member1"은 공백이 없이 setter가 되었는데 왜 0, 1의 출력값이 동일하게 나오는건가요? 애초에 substring의 숫자는 0 부터 시작하는거 아닌가요?
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
컬럼명
db에서의 컬럼명을 warehousingDate로 정의하고 자바에서 warehousingDate로 필드를 선언하여 테스트했을 때 매핑되지 않아 테스트에 실패합니다.db는 스네이크 케이스를 사용해서 jpa가 warehousingDate를 warehousing_date로 매핑시키려고 해서 그런 것 같은데 @Column(name = "warehousingDate")로 해도 안 되고 db의 컬럼명을 warehousing_date로 수정해야 정상 작동하는데 db에서 warehousingDate를 그대로 사용하고 정상적으로 매핑이 되게 하려면 어떻게 해야 하나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
질문드립니다..
1. Member엔티티의 필드와 MEMBER 테이블의 외래키 컬럼을 매핑하고, Member테이블의 외래키(TEAM_ID)를 Team테이블의 기본키와 매핑한다.2. member.getTeam()을 할때 MEMBER 테이블의 외래키(TEAM_ID)를 통해 TEAM테이블의 기본키를 참조하여 Team 데이터를 가지고 올 수 있다.3. Member테이블의 외래키와 Team테이블의 기본키를 매핑해서 외래키-기본키 관계를 설정한다.이 3가지가 각각 @JoinColumn때문인지, @ManyToOne때문인지 구분이 안되서 질문드립니다.. 각각 어느 어노테이션에 의해 동작되는것인가요??
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Persist() 호출 시 스냅샷 생성 여부가 궁금합니다.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]Member member = new Member(1L, "member"); em.persist(member); member.setName("Test"); tx.commit();위 코드를 실행하면 아래와 같이 SQL 쿼리문이 로그에 찍히는데요Hibernate: /* insert for hellojpa.Member */ insert into Member (name, id) values (?, ?) Hibernate: /* update for hellojpa.Member */ update Member set name=? where id=?persist()를 할 때 member 객체를 영속성 컨텍스트에 등록하고, 해당 상태에서는 신규 엔티티이므로 setName()으로 이름을 바꾸더라도 새로운 값이고, DB와 동기화되지 않았기에 스냅샷도 없을 것이라 생각했습니다.저의 [다른 질문](https://www.inflearn.com/community/questions/1484678)에서도 강사님께서 persist 시에는 새로운 데이터이기 때문에 스냅샷 생성의 실익이 없다고 말씀을 해주셨기에, 위 코드에서 INSERT 쿼리문 1개만 발생할 줄 알았는데, 실행 결과 UPDATE 쿼리문도 함께 발생한 것을 확인했습니다.persist를 수행한 이후 setName을 수행할 때, 스냅샷이 생성되지 않은 상태, 스냅샷이 없는 상태에서 어떻게 변경을 감지하여 UPDATE 쿼리문을 작성한 것인지 궁금합니다.처음에는 PK 생성 전략을 @GeneratedValue(strategy = GenerationType.IDENTITY) 로 해서 INSERT문이 먼저 생성되는 것이 원인인줄 알았지만, SEQUENCE 전략으로 바꿔도 UPDATE 쿼리문이 발생하는 것을 보고 제가 잘못 짚은 것 같았습니다.이미 [또 다른 질문](https://www.inflearn.com/community/questions/1494485)에서도 비슷한 질문을 한 번 더 남겼는데, 인프런 AI 인턴의 답변에서는 persist() 호출 시에 스냅샷이 생성이 된다는 답변을 받아 헷갈려서 한 번 더 질문 남겨봅니다.Entity Manager를 통해 persist() 호출 시에 스냅샷도 생성이 되는 것일까요?생성이 되지 않는다면, persist 이후에 호출한 setName()에 대해서 UPDATE문이 발생했는데, 여기서 변경 감지는 어떻게 이뤄졌나요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
Kafka Source Connect 사용
강사님 너무 좋은 강의 감사드립니다. JDBC Source Connector 예시를 잘 보았습니다. 해당 소스 커넥터의 경우 DB를 주기적으로 폴링해서 변경사항을 감지해서 DB 부담이 큰 것으로 알고 있는데요. (CDC source connector에 비해)혹시 해당 방식의 커넥터는 현업에서도 메이저하게 사용하는 방식인지 아니면 단순 예시인지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
로그에 values(?, ?, ?, ?, ?) 궁금증
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]강의에서는 쿼리 날라갈 때 로그를 보면 폼에 입력한 데이터가 로그에 다 뜨는데제 스프링 로그를 보면 insert into member (city, street, zipcode, name, member_id) values (?, ?, ?, ?, ?)이 로그밖에 안 뜨는데 최신버전 스프링에서는 보안상 로그에서 필터링을 해주는 건가요?아니면 따로 영한님께서 설정을 해주신건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderSearch에서 사용된 JPQL 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]OrderRepository 안에 JPQL로 다음과 같이 쿼리를 날리고 있는데em.createQuery("select o from Order o join o.member m", Order.class)여기서 사실 모든 주문이 회원하고 같이 매핑되어 있으면 join 하위에 문장은 필요 없는 문장 아닌가여?? 그냥 단순히 select o from Order o만 해도 될 것 같은데 왜 저렇게 한걸까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
from 절의 서브 쿼리에서 여러 값 조회
[질문 내용]from 절의 서브 쿼리를 작성하였을 때 조회로 여러 값이 나오게 테스트를 한번 만들어 보았는데요.// 페이징 쿼리 String query = "select new jpqljpa.MemberDTO(mm.mUser, mm.mAge) from (select m.username mUser, m.age mAge from Member m) mm"; List<Member> result = em.createQuery(query, Member.class).getResultList(); System.out.println("result = " + result.get(0));이렇게 하였을 때, 에러없이 나오긴합니다. 어떤 메커니즘으로 해당 쿼리가 문제없이 나오는지 구체적으로 알려주실수 있나요? 그리고 추가 질문으로 출력된 결과가result = jpqljpa.MemberDTO@4def42c3객체 메모리값으로 나오게되었는데 이름, 나이의 값을 출력하고싶다면 어떻게 코드를 쳐야 할까요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
연관관계 없는 엔티티 외부 조인 관련돼서 질문
[질문 내용]조인 강의 영상에서 Member 엔티티와 Team 엔티티를 member.changeTeam(team) 메소드를 통해 연관관계를 매핑해서 Member와 Team은 연관관계가 있는 것이고, 코드 상에서도 이미 연관관계 매핑된 상태에서 왜 연관관계 없는 엔티티 외부 조인 쿼리를 보여주시는 것인지 잘 이해가 안됩니다.
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
Team t, m.team t
[질문 내용]"조인" 강의 영상 13분 51초에 김영한 강사님께서 select m from Member m left join Team t on m.username = t.name 쿼리를 치셨는데, 여기서 m.team t를 하지 않고, 왜 Team t 로 하셨는지 구체적으로 알려주실 수 있나요?
-
미해결실전! 스프링 데이터 JPA
스프링 데이터 JPA save()할때 OneToMany 엔티티의 필드가 null값이 저장되요
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]특정 리포지토리에서 save()할때만 연관관계에 있는 엔티티의 필드가 null로 저장됩니다. 대체 어디가 문제일까요? cascade도 persist로 맞췄고 save 바로 직전에 로그를 띄웠을때도 정상적으로 값이 들어가있었는데 save()할때만 값이 null값으로 insert되네요