작성
·
408
0
답변 10
2
많은 부분이 편의를 위해 추상화되어 있어서 그렇게 느끼실 수 있을 것 같습니다.
아래 공식 문서를 참고하시면 대략적으로 어떤 느낌인지 아시는데 도움되실거에요.
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.query-creation
1
0
2022. 06. 29. 11:07
public class BookMember {
private String bookName;
Optional<BookMember> findByBookName(String bookName);
상기처럼 했더니 에러는 안나네요.
감사합니다. 코볼세데라 어렵네요 ㅋㅋ
개념이 안잡힘
0
0
2022. 06. 29. 10:25
"findBy" 이후에 엔티티의 속성 이름을 붙이다. 이 속성 이름은 첫 글자는 대문자로 한다.
상기처럼
Optional<BookMember> findByBook_name(String book_name);
으로 바꾸고 BookMember에도 book_name인데
private String book_name;
Failed to create query for method public abstract java.util.Optional book.booksmag.repository.SpringDataJpaBookMemberRepository.findByBook_name(java.lang.String)! No property 'book' found for type 'BookMember'!
왜 Book_name이 아니고 'book' 으로 인식되나요?
"_"를 쓰면 안되나요?
귀찬게 해서 죄송합니다.
0
2022. 06. 29. 09:25
name이라는 필드는 필수로 있어야하나요?
테이블 구성이
CREATE TABLE BOOK_MAG
(BOOK_ID NUMBER(13) PRIMARY KEY,
BOOK_NAME VARCHAR(255),
BOOK_KDC NUMBER(3),
BOOK_PUBLISHER_BUSINESS_NO NUMBER(10),
BOOK_PUBLISHER VARCHAR(255),
BOOK_AUTHOR_ID NUMBER(9),
BOOK_AUTHOR VARCHAR(255),
BOOK_MAKE_DATE DATE,
BOOK_PRICE NUMBER(13)
);
이런데요?
0
2022. 06. 29. 09:06
빠른 답변 감사합니다.
BookMember에
@Entity
@Table(name="book_mag")
public class BookMember {
// @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
private Long book_id; //BOOK_ID NUMBER(13) PRIMARY KEY
private String book_name; //BOOK_NAME VARCHAR(255),
private Long book_kdc; //BOOK_KDC NUMBER(3),
상기 처럼 되있고
SpringDataJpaBookMemberRepository에
public interface SpringDataJpaBookMemberRepository extends JpaRepository<BookMember,Long>, BookMemberRepository {
@Override
Optional<BookMember> findByName(String book_name);
}
상기처럼 했는데도 동일 에러 나오는데요? 어떻게해야할지 모르겠어요?
Failed to create query for method public abstract java.util.Optional book.booksmag.repository.SpringDataJpaBookMemberRepository.findByName(java.lang.String)! No property 'name' found for type 'BookMember'!
0
안녕하세요. ktwmomo님, 공식 서포터즈 David입니다.
에러를 잘 들여다보면 이유가 나와있습니다.
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'springConfig' defined in file [C:\Users\kimtw\Desktop\spring study\books-mag\books-mag\out\production\classes\book\booksmag\SpringConfig.class]: Unsatisfied dependency expressed through constructor parameter 0;
=> springConfig 빈을 생성하지 못한다
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springDataJpaBookMemberRepository' defined in book.booksmag.repository.SpringDataJpaBookMemberRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed;
=> springDataJpaBookMemberRepository 빈을 생성하지 못한다.
nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.Optional book.booksmag.repository.SpringDataJpaBookMemberRepository.findByName(java.lang.String)!
=> findByName 쿼리를 생성하지 못한다.
Reason: Failed to create query for method public abstract java.util.Optional book.booksmag.repository.SpringDataJpaBookMemberRepository.findByName(java.lang.String)!
No property 'name' found for type 'BookMember'!;
=> 그 이유는 BookMember에 name 프로퍼티가 없어서
nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional book.booksmag.repository.SpringDataJpaBookMemberRepository.findByName(java.lang.String)!
No property 'name' found for type 'BookMember'!
위 정보를 토대로 BookMember를 다시 살펴보시고 시도해주세요.
감사합니다.
2022. 06. 29. 13:55
감사합니다.