inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

초기 porm.xml 관련 질문

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요 초기 porm.xml 관련하여 찾아보면서 해결할려고 시도하였으나 오류가 계속해서 발생되어 질문 드립니다 ! 자바 8이상 버전 상관 없으시다고 하셨는데 17버전으로 하게되면 문제가 발생하는 지? 11버전은 있어 11버전은 괜찮은 지? 디펜던시 설정을 진행하였으나 hibernate와 h2 두 디펜던시 모두 에러가 발생하고 있습니다. 이미지 첨부 > 오류 내용

  • java
  • jpa
negrate 댓글 1 좋아요 0 조회수 987

안녕하세요 기선님 질문이있습니다..

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

음.. 다시 쿼리를 보는데 @GetMapping("/events/{id}") public String getEvent(@CurrentUser Account account, @PathVariable String path, @PathVariable Long id, Model model) { model.addAttribute(account); model.addAttribute(eventRepository.findById(id).orElseThrow()); model.addAttribute(studyService.getStudy(path)); return "event/view"; } 이쪽을 탈때 쿼리가 총 3개 나가는건 이해 했는데 마지막에 enrollment 엔티티 가져올때 쿼리리는 왜 account 랑만 조인 하나요 ? 연관관계를 보면 Event도있는데 Event도 조인해야 하는거 아닌가요 ?? @ManToOne 관계라 Eager 모드 아닌가요 ??

  • java
  • spring
  • spring-boot
  • thymeleaf
  • jpa
H K 댓글 1 좋아요 0 조회수 250

application.properties datasource질문

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

Test 부분에서 application.properties 에 spring.profiles.active=test #spring.datasource.url=jdbc:h2:tcp://localhost/~/testcase #spring.datasource.username=sa #jdbcTemplate sql log logging.level.org.springframework.jdbc=debug url과 username을 추가했었는데 h2 서버를 띄우지도 않았는데 작동되는 이유가 무엇인가요? (저 주석은 마지막강의 임베디드 메모리 강의듣느라 주석처리했습니다.) 이미 서버를 한번 띄었었기 때문에 작동이 되는것인지 궁금합니다

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
박민성 댓글 1 좋아요 0 조회수 210

48초에 dependencies 문서보는 부분이 없네요

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 예전버전 인거같은데 웹사이트가 달라서 찾을수가 없네요

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
댓글 1 좋아요 0 조회수 222

th:object에 대해 질문드립니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

MVC2편에서 배웠던 것 같지만 헷갈리는 부분이 있어 질문드립니다. // ItemController /** * 상품 수정 */ @PostMapping("/items/{itemId}/edit") public String updateItem(@ModelAttribute("form") BookForm form) { // updateItemForm.html <form th:object="${form}" method="post"> th:object="${form}" 에서 괄호 안에 form을 참조하여 컨트롤러의 @ModelAttritube("form")을 했을 때 요청 파라미터를 바인딩해서 BookForm 객체에 넘겨준다고 이해했는데, @ModelAttritube("form1") 이런식으로 바꿔도 정상적으로 작동했습니다. 혹시 제가 놓친 부분이 있을까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
Jaesang Yoon 댓글 1 좋아요 0 조회수 229

30장 코드수정하니 run오류가 납니다..

미해결

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

오류를 해석하려햇는데 book쪽에서 뭔가 오류인것같은데 수정하고 강사님 코드를 붙여넣어봐도 같은 오류가 나오네요.. 혹시 어떤오류인지 알 수 있을까요? Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2024-03-19 16:21:44.681 ERROR 42249 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: com.group.libraryapp.domain.book.Book at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1804) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:620) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:908) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.24.jar:5.3.24] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:731) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.7.6.jar:2.7.6] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.7.6.jar:2.7.6] at com.group.libraryapp.LibraryAppApplication.main(LibraryAppApplication.java:11) ~[classes/:na] Caused by: org.hibernate.AnnotationException: No identifier specified for entity: com.group.libraryapp.domain.book.Book at org.hibernate.cfg.InheritanceState.determineDefaultAccessType(InheritanceState.java:266) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final] at org.hibernate.cfg.InheritanceState.getElementsToProcess(InheritanceState.java:211) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final] at org.hibernate.cfg.AnnotationBinder.bindClass(AnnotationBinder.java:772) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final] at org.hibernate.boot.model.source.internal.annotations.AnnotationMetadataSourceProcessorImpl.processEntityHierarchies(AnnotationMetadataSourceProcessorImpl.java:225) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess$1.processEntityHierarchies(MetadataBuildingProcess.java:239) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final] at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:282) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:1460) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final] at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:1494) ~[hibernate-core-5.6.14.Final.jar:5.6.14.Final] at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:58) ~[spring-orm-5.3.24.jar:5.3.24] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) ~[spring-orm-5.3.24.jar:5.3.24] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:409) ~[spring-orm-5.3.24.jar:5.3.24] at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:396) ~[spring-orm-5.3.24.jar:5.3.24] at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) ~[spring-orm-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) ~[spring-beans-5.3.24.jar:5.3.24] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ~[spring-beans-5.3.24.jar:5.3.24] ... 16 common frames omitted 종료 코드 1(으)로 완료된 프로세스

  • java
  • spring
  • aws
  • mysql
  • spring-boot
  • jpa
준영 댓글 3 좋아요 0 조회수 392

h2 DB TCP 연결이 안됍니다

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

test 접속하면 연결이되고 db도 생깁니다. 하지만 tcp로 연결이 안됩니다. db파일 삭제 여러번 해봤습니다. 자바 17,. 스프링 부트 3,x , h2 2.2.224 버전입니다. 이유가 뭘까요?

  • java
  • jpa
bachue 댓글 2 좋아요 1 조회수 437

챕터 8 카카오 토큰 받기 이후

미해결

코드로 배우는 React 19 with 스프링부트 API서버

카카오 토큰 받기 이후로 많은 오류가 한번에 떠서 질문 드립니다! 부트 서버에서도 member.service, impl에 콘솔 찍은것도 에러로 인해 안뜹니다 상황마다 500오류 400오류 grant value 오류 등이 계속 뜹니다 ㅜㅜ 부트 https://github.com/hyeonbin03/IntelliJHub 일단 부트 코드는 선생님 주셨던 파일 참고해서 Member Modify 기능까지 작성 완료 된 상태입니다 리엑트 https://github.com/hyeonbin03/WebStromHub 깃 주소 남겨드겠습니다 ㅠㅠ

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
양현빈 댓글 1 좋아요 0 조회수 420

JPQL 컴파일 오류

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

JPQL 함수 강의에서 사용자 정의 함수 호출 부분 설명에서 컴파일 오류가 발생헀는데 강사님이랑 코드 작성 똑같이 했는데 함수값이 틀린거 같은데 저 빨간색 코드 부분을 뭐라고 수정을 해야 하나요??

  • java
  • jpa
고도윤 댓글 1 좋아요 0 조회수 193

KeyHolder 질문

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

@Override public Item save(Item item) { String sql = "insert into item (item_name, price, quantity) " + "values(:itemName, :price, :quantity)"; SqlParameterSource param = new BeanPropertySqlParameterSource(item); KeyHolder keyHolder = new GeneratedKeyHolder(); template.update(sql, param, keyHolder); long key = keyHolder.getKey().longValue(); item.setId(key); return item; } KeyHolder같은경우 id를 내부에서 직접 구성해줘야하기 때문에 쓰는거라고 알고있는데 서버를 열어서 추가를 해줄때마다 숫자가 증가되는걸 볼수있었습니다. 숫자가 증가되는건 코드에서 자체적으로 해주는건가요? 항상 답변감사드립니다.

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
박민성 댓글 1 좋아요 0 조회수 195

실습리포지토리 테스트 코드 작성 강의 오류

해결됨

입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기

안녕하세요 또 이렇게 질문하게 되네요 먼저 코드는 틀린거 없이 Git 내용과 강의 내용코드 그대로 작성하였습니다. 하지만 왜 일까요?? 에러가 나네요 이부분이 에러 납니다. al experience = experienceRepository.findAll() ====================== @Test fun testFindAll() { println("---- findAll 테스트 시작 ----") val experience = experienceRepository.findAll() assertThat(experience).hasSize(DATA_SIZE) println("experiences.size: ${experience.size}") for (experience in experience) { assertThat(experience.details).hasSize(experience.title.toInt()) println("experience.details.size: ${experience.details.size}") } println("---- findAll 테스트 종료 ----") } ==================================== 이부분도요 findAllByIsActive(true) @Test fun testFindAllByIsActive() { println("----- findAllByIsActive 테스트 시작 -----") val experiences = experienceRepository.findAllByIsActive(true) assertThat(experiences).hasSize(DATA_SIZE) println("experiences.size: ${experiences.size}") for (experience in experiences) { assertThat(experience.details).hasSize(experience.title.toInt()) println("experience.details.size: ${experience.details.size}") } println("----- findAllByIsActive 테스트 종료 -----") } 에러 코드는 기니깐 핵심 부분만 올려 드리면 Hibernate: select e1_0.experience_id,e1_0.created_date_time,e1_0.description,d1_0.experience_id,d1_0.experience_detail_id,d1_0.content,d1_0.created_date_time,d1_ 0.is _active,d1_0.update_date_time,e1_0.end_month,e1_0.end_year,e1_ 0.is _active,e1_0.start_month,e1_0.start_year,e1_0.title,e1_0.update_date_time from experience e1_0 left join experience_detail d1_0 on e1_0.experience_id=d1_0.experience_id where e1_ 0.is _active=? org.springframework.orm.jpa.JpaSystemException: No default constructor for entity 'com.justkim.portfolio.domain.entity.ExperienceDetail' at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException( HibernateJpaDialect.java:341 ) 이이쿠 한줄만 적는데도 기네요 ExperienceDetail.kt 코드는 @Entity class ExperienceDetail(content: String, isActive: Boolean) : BaseEntity() { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "experience_detail_id") var id:Long? = null var content: String = content var isActive: Boolean = isActive fun update(content: String, isActive: Boolean) { this.content = content this.isActive = isActive } } 이런데 ExperienceDetail( 가 계속 경고를 때리네요 Class 'ExperienceDetail' should have [public, protected] no-arg constructor https://github.com/justkjy/portfolio-justkim 깃 주소입니다 구글에서 위 에러를 검색하니깐 인프런 오류 질문이 올라 와 있던데 봐도 모르겠네요 https://www.inflearn.com/questions/931371/test-%EC%98%A4%EB%A5%98 감사합니다.

  • kotlin
  • mysql
  • docker
  • spring-boot
  • jpa
just kim 댓글 2 좋아요 1 조회수 367

기본 생성자

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] Address 클래스에 기본 생성자를 만들지 않으면 insert 쿼리가 나오지 않던데 이 이유에 대한 내용이 어느 파트에서 나왔었는지 찾고싶어요!

  • java
  • jpa
영한공유 댓글 1 좋아요 0 조회수 215

이너 클래스 vs 클래스 별도 생성의 차이?

미해결

쥬쥬와 함께 하루만에 시작하는 백엔드 - 스프링, 도커, AWS

[4-5 맛집 정보 가져오기 API 개발하기] 맛집 정보 가져오기 API 부분 코드 작성해 주시는 부분에서 (2분 34초쯤부터) 메뉴 클래스를 하나 더 만드실지 고민하시는듯 하다가 이너 클래스로 만드신 것처럼 보이는데요, 이전에 request 만드실때는 메뉴 클래스를 분리하셨는데 해당 부분에서는 고민하시다가 이너 클래스로 만드신 이유가 무엇인지 그리고 어떤 경우에 이너 클래스를 쓰고 분리를 하는지 궁금해서 문의드립니다.

  • spring
  • git
  • docker
  • spring-boot
  • jpa
  • github
gggg5555 댓글 2 좋아요 0 조회수 412

토이 프로젝트를 진행하다 궁금한게 생겨서 질문드립니다

미해결

실전! Querydsl

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] Projection 을 사용해서 2~3번의 query 를 통해 필요한 데이터만 받아오는것과 fetch join 을 통해서 한번에 3개의 entity 전체를 받아 오는 방법중 어떤방식이 적절한지 고민되서 질문드립니다. fetch join 을 통해 쓰지않는 데이터를 받아오더라도 query가 여러번 나가는거보다 성능적으로 좋은가요?

  • java
  • jpa
kyb1208tg 댓글 1 좋아요 0 조회수 399

ExceptionHandler가 AccessDeniedHandler(Http403Handler)를 먹어버리는 현상

미해결

호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)

안녕하세요 호돌맨님 강의 항상 잘보고있습니다. 다름이 아니라 실습 중 의도치 않게 동작하는 부분이 있어 질문드립니다. 상황 회원 가입 후 로그인 이 때 유저의 Role 은 ADMIN 메소드 시큐리티로 아래와 같이 자원의 권한 제한 @RestController class HomeController { @GetMapping("/user") @PreAuthorize("hasRole('ROLE_USER')") fun user(): String { return "user 접근 가능👁" } @GetMapping("/admin") @PreAuthorize("hasRole('ROLE_ADMIN')") fun admin(): String { return "admin 접근 가능 👨‍💼" } } 이 때 ExceptionHandler로 Runtime예외를 캐치해 응답을 주고 있습니다. 동시에 커스텀한 403핸들러를 HttpSecurity에 끼워 넣어주었습니다. // ControllerAdvice @ExceptionHandler(Exception::class) fun handleRuntimeException(ex: Exception): ResponseEntity<ErrorResult> { logger.error("ex", ex) return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) .body( ErrorResult( code = "500", message = ex.message, ) ) } // SecurityConfig @Bean fun securityFilterChain(http: HttpSecurity): SecurityFilterChain { return http // .. other config.. .exceptionHandling { e -> e.accessDeniedHandler(Http403Handler(objectMapper)) e.authenticationEntryPoint(Http401Handler(objectMapper)) } .build() } 기대하는 동작 ADMIN으로 로그인한 유저가 USER 자원에 접근하면 아래와 같이 응답 { "code": "403", "message": "접근할 수 없습니다.", "validation": null } 실제 동작 { "code": "500", "message": "Access Denied", "validation": null } ControllerAdvice에서 Runtime예외를 처리하지 않는다면 의도대로 403이 응답되는데, ControllerAdvice에서 예외를 포괄적으로 처리하게 되면 403이 응답되지 않습니다. 혹시 이런경우를 겪으신적이 있는지? 따로 해결방법이 있을지 궁금해 여쭙습니다. 감사합니다.

  • vue.js
  • aws
  • spring-boot
  • jpa
  • spring-security
철이와미애 댓글 2 좋아요 0 조회수 1200

수정시에 질문있습니다!!!! Editor??

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

[질문 내용] 여기에 질문 내용을 남겨주세요. 저는 지금까지 수정을 시도할때 changeContentsAndtitle 이런 식으로 엔티티단에서 수정을 시도했는데 https://velog.io/@gundorit/Spring-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%90%9C-CRUD-Update 이 블로그에 따르면 그것은 별로 안좋고 Editor 를 선언해서 하면 좋다는 식으로 얘기하고 있습니다. 근데 이렇게 하면 영한님이 얘기하셨던 얘기 중에 그런 이야기가 있었습니다. DTO 는 엔티티를 참조해도 되는데 , 엔티티는 DTO 를 참조하지 말라고 하셨습니다. 위 블로그에서는 Entity 에서 DTO 를 참조하지는 않는데 Entity 에서 UpdateEditor 를 선언하고 있는데 이런 부분에 문제는 없을까요?? 영한님도 이런 스타일로 하시나요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
dionisos198 댓글 1 좋아요 0 조회수 220

14분 50초 일대다 페치조인 질문

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); System.out.println("zzzzzzzzzzzzzzzzzzzzzzzzzzzz"); //비영속 try{ Team teamA = new Team(); teamA.setName("teamA"); em.persist(teamA); Team teamB = new Team(); teamB.setName("teamB"); em.persist(teamB); Member member1 = new Member(); member1.setUsername("member1"); member1.setTeam(teamA); em.persist(member1); Member member2 = new Member(); member2.setUsername("member2"); member2.setTeam(teamA); em.persist(member2); Member member3 = new Member(); member3.setUsername("member3"); member3.setTeam(teamB); em.persist(member3); Member member4 = new Member(); member4.setUsername("member4"); member4.setTeam(null); em.persist(member4); em.flush(); em.clear(); String query ="select t From Team t join fetch t.members"; List<Team> result = em.createQuery(query, Team.class).getResultList(); for (Team team : result) { System.out.println("team= " + team.getName() + "|members=" + team.getMembers().size()); } tx.commit(); } catch (Exception e){ tx.rollback(); e.printStackTrace(); }finally { em.close(); } emf.close(); } 이 코드를 실행시켰더니 14분 50초에 나오는 3줄이 나오는 것이 아닌 team= teamA|members=2 team= teamB|members=1 이렇게 나오는데 혹시 어떤 이유에서 그런것인지 궁금합니다.

  • java
  • jpa
서정원 댓글 2 좋아요 3 조회수 663

JPA와 DB설정, 동작확인 강의에서 오류메세지 발

해결됨

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 제가 오류를 못찾는건지 자료랑 비교했을 때 별 특이사항은 없는 것 같은데 자꾸 오류가 발생합니다.MEMBER_SEQ이 대체 뭔지 모르겠네요 ㅠㅠ 젤 하단 사진 테스트코드 실행 시 오류가 발생합니다. application.yml server: port: 8081 #MVCC=TRUE를 넣어주면 여러개를 한번에 접근했을 때 좀 더 빨리 처리가 된다. spring: datasource: url: jdbc:h2:tcp://localhost/~/jpashop username: sa password: driver-class-name: org.h2.Driver #ddl-auto: create -> 자동으로 테이블을 만들어주는 모드 jpa: hibernate: ddl-auto: create properties: hibernate: # show_sql: true System.out.~을 통해서 출력 format_sql: true #logger를 통해 출력 #로그 레벨 #hibernate SQL로그를 디버그 모드로 쓴다는 것 #-> Hibernate가 남기는 모든 로그가 다 디버그 모드로 해서 JPA나 Hibernate가 생성하는 SQL이 다 보인다. logging: level: org.hibernate.SQL: debug Member package jpabook.jpashop; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import lombok.Getter; import lombok.Setter; @Entity @Getter @Setter public class Member { @Id @GeneratedValue private long id; private String username; } MemberRepository package jpabook.jpashop; import jakarta.persistence.EntityManager; import jakarta.persistence.PersistenceContext; import org.springframework.stereotype.Repository; @Repository public class MemberRepository { @PersistenceContext private EntityManager em; public Long save(Member member){ em.persist(member); return member.getId(); } public Member find(Long id){ return em.find(Member.class,id); } } MemberRepositoryTest package jpabook.jpashop; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; import static org.assertj.core.api.Assertions.*; import static org.junit.Assert.*; @RunWith(SpringRunner.class) //junit한테 SpringBoot로 테스트 한다고 알려주는 것 @SpringBootTest public class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional public void testMember(){ //given Member member=new Member(); member.setUsername("memberA"); //when Long saveID= memberRepository.save(member); Member findMember=memberRepository.find(saveID); //then assertThat(findMember.getId()).isEqualTo(member.getId()); assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); } }

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
wlwlgoyo 댓글 3 좋아요 0 조회수 814

src/test/resources 에 application.properties

미해결

스프링 DB 2편 - 데이터 접근 활용 기술

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 이전 수업까지 datasource를 저희가 주입하는게 아닌 properties 파일로 자동으로 주입받을 때 src/test/resources 를 만든적이 없는걸로 기억합니다. 그런데도 에러 없이 잘 돌아갔었는데 src/test/resources 를 만들어서 분리하는 순간 src/test/resources에 있는 properties 파일은 src/test 를 위한 설정 파일이 되는건가요? 만약 src/test/resources를 만들지 않았다면 src/main에 있는 설정 정보를 그대로 src/test에서도 끌어다 쓰는건가요?

  • spring
  • mvc
  • jpa
  • querydsl
  • spring-data-mybatis
  • spring-jpa
ABBCD 댓글 1 좋아요 0 조회수 234

일대일 양방향 연관관계에서 N+1 문제

해결됨

자바 ORM 표준 JPA 프로그래밍 - 기본편

엔티티 연관 관계 Recruitment <(1)---(1)> Study 엔티티 코드 @Entity public class Recruitment { @Id @GeneratedValue @Column(name = "recruitment_id") private Long id; @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "id") private Study study; } @Entity public class Study { @Id @GeneratedValue @Column(name = "study_id") private Long id; @OneToOne(mappedBy = "study", fetch = FetchType.LAZY) private Recruitment recruitment; } 질문 Recruitment 를 조회하고 Study 프록시 객체에 접근할 때, Recruitment 조회 쿼리가 한 번 더 나가는 이유를 모르겠습니다. (자세한 내용은 아래 코드의 주석으로 추가했습니다.) 테스트 코드 @Test @Transactional void test() { Study study = new Study(); study.setTitle("스터디A"); studyRepository.save(study); Recruitment recruitment = new Recruitment(); recruitment.setStudy(study); recruitment.setTitle("스터디A의 모집공고"); recruitmentRepository.save(recruitment); entityManager.flush(); entityManager.clear(); // ---------------------// Recruitment findRecruitment = recruitmentRepository.findById(1L).get(); // Recruitment 조회 System.out.println("findRecruitment.getStudy() start"); Study findStudy = findRecruitment.getStudy(); System.out.println("findRecruitment.getStudy() end"); System.out.println("findStudy.getTitle() start"); String title = findStudy.getTitle(); // Study 지연로딩만 나갈 것으로 예상했지만, Recruitment 조회도 발생함 System.out.println("findStudy.getTitle() end"); } SQL 로그 select r1_0.recruitment_id, r1_0.id, r1_0.title from recruitment r1_0 where r1_0.recruitment_id=? // "findStudy.getTitle() start" (Study 지연 로딩) select s1_0.study_id, s1_0.title from study s1_0 where s1_0.study_id=? select // Recruitment 조회 로직이 왜 또 나가는가? r1_0.recruitment_id, r1_0.id, r1_0.title from recruitment r1_0 where r1_0.id=? // "findStudy.getTitle() end"

  • java
  • jpa
김준기 댓글 1 좋아요 0 조회수 349

인기 태그

인프런 TOP Writers

주간 인기글