OneToMany 관계에서는 Many 가 연관관계의 주인이기 때문에 Many가 저장을 해야하는 것으로 이해했는데요. 실무에서는 One에 외래키가 있는 경우가 많아서ㅠ 이 경우에는 One, Many 각각의 repository에서 save 하는게 맞을까요? 아니면 One에서 Cascade를 사용해서 Many를 저장하는 방향도 괜찮을지 질문드립니다! 예로 one은 자동차 상태이고 many는 자동차 상태가 변경될 때마다 상태 이력을 저장하는 케이스입니다.
안녕하세요 강사님! 강사님의 스프링과 jpa 강의를 듣고 프로젝트를 만드는 중인 학생입니다. 다름이 아니라 따로 좋아요 기능을 추가해서 학습한 내용을 바탕으로 제작 중인데 Error creating bean with name 'likeApiController' defined in file [/Users/gimnayeon/Desktop/GreenProject/GrinGreen/out/production/classes/com/grin/GrinGreen/api/LikeApiController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'likeService' defined in file [/Users/gimnayeon/Desktop/GreenProject/GrinGreen/out/production/classes/com/grin/GrinGreen/service/LikeService.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'likeRepository' defined in com.grin.GrinGreen.repository.LikeRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data .repository.query.QueryCreationException: Could not create query for public abstract java.util.Optional com.grin.GrinGreen.repository.LikeRepository.findBybusiness(com.grin.GrinGreen.domain.Member, com.grin.GrinGreen.domain.Business )! Reason: Failed to create query for method public abstract java.util.Optional com.grin.GrinGreen.repository.LikeRepository.findBybusiness(com.grin.GrinGreen.domain.Member, com.grin.GrinGreen.domain.Business )! At least 2 parameter(s) provided but only 1 parameter(s) present in query.; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.Optional com.grin.GrinGreen.repository.LikeRepository.findBybusiness(com.grin.GrinGreen.domain.Member, com.grin.GrinGreen.domain.Business )! At least 2 parameter(s) provided but only 1 parameter(s) present in query. 라는 오류가 뜹니다. LikeRepository @Transactional(readOnly = true) public interface LikeRepository extends JpaRepository<Like, Long> { Optional<Integer> countBybusiness(Business business); Optional<Like> findBybusiness(Member member, Business business); } business entity @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "mail") private Member member; @OneToMany(mappedBy = "business", cascade = CascadeType.ALL) Set<Like> likes = new HashSet<>(); member entity @OneToMany(mappedBy = "member", cascade = CascadeType.ALL) private List<Business> business = new ArrayList<>(); @OneToMany(mappedBy = "member", cascade = CascadeType.ALL) Set<Like> likes = new HashSet<>(); like entity @Id @GeneratedValue @Column(name = "like_id") private Long id; @ManyToOne(fetch = FetchType.LAZY) private Member member; @ManyToOne(fetch = FetchType.LAZY) private Business business; public Like(Business business, Member member) { this.business = business; this.member = member; } 처음에는 jparepository에서 findBy 이후 대문자를 쓴 게 문제였나 싶어 수정을 했지만 아니었고 파라미터의 Id처럼 대문자로 쓰여진 게 문제인가 봤지만 해당 사항이 없었습니다.. 아무리 강의를 돌려봐도 감이 안 잡히는 데 어디 부분의 문제일까요?ㅠㅠ 파라메터 값이 2개인데 1개만 받아졌다는 오류인 것도 같습니다....
MsgItem 을 이용하여 MsgList 50개를 뽑는 과정에서 Error: Text content does not match server-rendered HTML. Error: Hydration failed because the initial UI does not match what was rendered on the server. Error: There was an error while hydrating. Because the error happened outside of a Suspense boundary, the entire root will switch to client rendering. 오류를 만났습니다. 혼자서 분석해본결과 jay와 roy를 랜덤으로 얻기위한 const getRandomUserId = () => UserIds[Math.round(Math.random())]; 이라는 함수를 이용하면 이런에러가 나는것으로 확인되었습니다 선생님 .fill(0).map() 함수에서 getRandomUserId() 를이용하지않고 직접 이름을 "roy" 로 작성하니 오류가 나오지않습니다.. 구글링을해봐도 이유를 알기 어려워서 질문을남깁니다 왜 이런오류가 나오는걸까요.?
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'dataSourceScriptDatabaseInitializer' defined in class path resource [org/springframework/boot/autoconfigure/sql/init/DataSourceInitializationConfiguration.class]: Unsatisfied dependency expressed through method 'dataSourceScriptDatabaseInitializer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: org.h2.Driver 라는 에러가 나옵니다. 어떻게 해결해야할까요??
바뀐 react 18에 따라서 작성된 코드입니다. 바뀐 리엑트로 어떻게 코드 작성해야하는지 모르겠는 분들은 참고하시면 좋을것 같습니다! https://github.com/matt700395/first-meet-react/commit/7df1b7367e6a2c00f21ae30a92e39102959e373f
Unable to make protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException accessible: module java.base does not "opens java.lang" to unnamed module 다음과 같은 에러 나시면 plugin 에 <groupId>org.asciidoctor</groupId> <artifactId>asciidoctor-maven-plugin</artifactId> <version>2.1.0</version> 버전을 최신으로 업데이트 하심 해결됩니다.
따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)
커뮤니티생성 - 커뮤니티 생성핸들러 생성하기(2) 까지 강의를 들은 상황에서 첫 로그인은 network status가 200이 뜨는데 그 다음부터는 어느 페이지든 접근시 GET /api/auth/me 304 가 나옵니다. routes/auth.ts 에서 [변경전] const me = async (_: Request, res: Response) => { return res.json(res.locals.user) } [변경후] const me = async (_: Request, res: Response) => { return res.status(200).json(res.locals.user) } 바꾸었으에도 계속 그러네요.. 왜 그런지 아시나요 아래와 같은 글을 발견했지만 캐싱 이후 그냥 304를 날린다는데 이게 맞는건가요..? https://www.inflearn.com/questions/14571
안녕하세요. 강의 잘 보고 있습니다. 궁금한 점이 있습니다. Querydsl4RepositorySupport는 abstract class인데 왜 @Repository를 붙이는건가요? 실체 구체화할 부모 클래스에 @Repository를 붙이면 되는것 아닌가요? Querydsl4RepositorySupport는 abstract class라 객체로 생성이 안되는데 빈으로 등록이 가능한가요? 이어서 setEntityManager에 @Autowired를 붙임으로써 의존성을 주입하고 있습니다. 그때에 entityManager라는 빈을 등록해주겠죠. 그런데 setEntityManager는 언제, 누가 호출하게 되는건가요?
1:07분에서 하는 것처럼 똑같이 해서 터미널로 들어가서 bin폴더까지 접근해서 거기서 cat h2.sh를 하면 영상처럼 똑같이 나옵니다. 그래서 다음 단계인 ./ h2.sh 를 했는데 permission denied라는 문구가 출력됩니다. 그래서 sudo ./h2.sh를 할 경우 sudo: ./ h2.sh : command not found 라는 문구가 출력됩니다. h2-1.4.199.jar h2.bat h2.sh h2w.bat a@aui-iMac bin % cat h2.sh #!/bin/sh dir=$(dirname "$0") java -cp "$dir/h2-1.4.199.jar:$H2DRIVERS:$CLASSPATH" org.h2.tools.Console "$@" a@aui-iMac bin % ./h2.sh zsh: permission denied: ./h2.sh a@aui-iMac bin % sudo ./h2.sh Password: sudo: ./h2.sh: command not found 혹시 이럴때는 어떻게 해결해야 되나요?
안녕하세요 강사님! 수업 너무 잘 듣고 있습니다. 다름이 아니라 설명하시는 도중 18:20 가량 부터 잠깐 하시는 말씀에 대해 조금 이해가 덜 된 것 같아서 질문을 좀 드리고 싶어서 글을 남기게 되었습니다. 1. 설계하고 돌려서 테이블 생성된 것을 보고 원하는 대로 만들어졌는지 확인하는 것을 반복하라 >> DB 테이블에 칼럼들 들어간 모습들과 내가 원하는대로 들어갔는지 확인하면서 해라! 라는 말씀으로 이해하면 되는 걸까요? 2. 생성된 것을 그대로 쓰면 안된다(?) >> 제가 실무를 혼자서 진행해보고 DBA 분들과 얘기를 해본적이 없어서 이해가 잘 안됐을 수도 있는데, 혹시 이부분에서 말씀하시는 그대로 쓰면 안된다는게 어떤 부분인지 조금 더 말씀해주실 수 있을까요? Script 란 DB sql 들어가는 글들을 말씀하시는 것 같은데, 해당 SQL 을 따로 뽑아서 한번 쭉 본 후에 JPA DDL-AUTO 기능을 사용하지 말고 직접 DB workspace 같은 공간에 직접 import 를 해주는 방식으로 하라는 말씀이실까요? 도움주셔서 감사합니다!
안녕하세요! effectively final 관련 궁금증이 있어 질문드립니다! Java에서 람다 사용시 effectively final 여야지만 되는 이유가 람다 외부 지역변수를 제어하는 스레드와 람다식을 수행하는 스레드가 서로 다를 수 있고, 지역 변수는 스택에 저장되는데 각 스레드가 다르면 서로의 스택을 공유하지 못하기 때문에 값을 복사하여 사용하는데 이 경우 값이 최신값임을 보장하지 못하기 때문이라고 알고 있습니다. Kotlin에서는 effectively final 하지 않아도 되는 이유가 잘 이해가 안가서 질문드립니다! 람다 시작 지점에 참조하고 있는 변수들을 모두 포획한다는 것 이 Java에서와 마찬가지로 복사하여 값을 사용하는 것과는 다른 개념인걸까요?