묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
AddressEntity delete
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용] 강의 후반부에서 member의 addressHistory에 AddressEntity를 추가하는 것까지 알려주셨는데member의 addressHistory에서 AddressEntity 값 하나를 삭제하고 싶을때이런 방식으로 하는게 맞는지 궁금합니다.equals와 hashCode도 잘 고친건지도 궁금합니다. //Address의 equals, hashCode @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Address address = (Address) o; return Objects.equals(getCity(), address.getCity()) && Objects.equals(getStreet(), address.getStreet()) && Objects.equals(getZipcode(), address.getZipcode()); } @Override public int hashCode() { return Objects.hash(getCity(), getStreet(), getZipcode()); } //AddressEntity의 equals, hashCode @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; AddressEntity that = (AddressEntity) o; return Objects.equals(getId(), that.getId()) || Objects.equals(getAddress(), that.getAddress()); // } @Override public int hashCode() { return Objects.hash(getId(), getAddress().getCity(), getAddress().getStreet(), getAddress().getZipcode()); // } Member findMember = em.find(Member.class, member.getId()); List<AddressEntity> addressHistory = findMember.getAddressHistory(); addressHistory.remove(new AddressEntity("city1", "street", "zipcode"));
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
HTML코드 및 강의 중간자료들
우선 강의중에 보여주셨던 HTML코드들에 대해서 행방을 알수가 없고 키를 강의마다 알려주신다는데 언제 알려주시는지 모르겠습니다.그래서 완성되어있던 파일에 있는 HTML파일들을 끌어다가 다시 완성시켰는데 코드자체에 CSS,Js가 적용되지 않고 에러가 뜨기도 합니다.Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "!hasNotification" (template: "fragments.html" - line 129, col 24) 혹시 최신화된 코드나 강의 진행도에 따른 코드 접근 방법이 있을까요...? 물론 제가 옛날 강의를 듣는것이다 보니 감수해야 하는 부분이겠지만 하나하나 알아가다보니 강의를 듣는 시간도 늘어지고 지치기 시작하는거 같습니다 시간이 지나면서 바뀌는 부분에 대해서 조금이라도 안내를 해주시거나, 주의할 부분이라던가 아니면 참고할만한 내용들을 추가해주시면 감사하겠습니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
영속성 컨텍스트 flush 질문입니다.
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]이전에 동일한 질문을 주신 분들이 있었는데 답변이 잘 이해가 가지 않아 질문 드립니다.영속성 컨텍스트에서 flush() 메소드를 직접 호출하면DB에 바로 요청이 나간다고 강의에 나와있습니다. (DB 반영은 X)이 부분 까지는 이해가 갑니다. 그런데 이전 강의에서 commit() 가 동작하면 flush() 가 동작한다고 했습니다.그러면 결국 코드상에서 flush()가 2번 요청이 되어 쿼리가 2번 나가야 맞는거 같은데 이해가 안가서 질문드립니다.
-
미해결실전! Querydsl
MemberJpaRepositoryTest 클래스에서 MemberJpaRepository 클래스 주입 오류
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]MemberJPARepository 클래스를 build/generated 패키지에 생성하고 테스트 클래스의 테스트를 돌리게 되면 @Autowired MemberJpaRepository memberJpaRepository; ^ symbol: class MemberJpaRepository location: class MemberJpaRepositoryTest이렇게 주입 관련한 에러가 뜹니다. 왜 이런건가요?
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
고민 있어요ㅠ.ㅠ 자바 스프링 vs 코트린 스프링
안녕하세요. 한 몇달간 코틀린 공부하고 안드로이드 개발도 공부하고 나름 대로 스스로 잘만들었다는 앱도 만들었어요. 이번 새로 들어간 회사에서도 잘 만들었다고 하고 다들 잼있게 보더라구요..안드로이드와 연동해야되는 스프링도 공부하면 좋겠다 해서 스프링 공부중인데 코틀린으로 만든 스프링이 너무 없어요...그냥 자료가 없어요 ... 코플링이 있긴하지만 그냥 자바를 코틀린으로 언어 컨버팅한것만 있구... 이게 자바강의인지 스프링 강의인지 .. 쩝 그래서 그런데 자바를 필수로 해야되나요??자바를 너무 싫어하는게 ..옛날 첫 회사에서 자바 회사였는데 너무 힘들엇거든요. 직장 상사한테 쿠사리도 너무 많이 먹고, 그러다 결굴 그 회사 나오고 나서 자바 혐오가 생기더라구요.. 자바 언어만 봐도 그때 회사에서 혼난 기억이 10년이 지났는데도 짜증이 나요.C도 하고 mfc도 하고 C#도 하고 파스칼도 하고 새로 배운 코틀린도 하고 뭐 다 하겠는데 자바만큼은 진짜 싫어요 ...어떻게 코틀린으로 스프링 고급 단계까지 올라 갈 수 있는 방법 없을까요??
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
강의노트 ZIP 파일이 비어있습니다.
강의노트 ZIP 파일이 비어있습니다. 메일로 자료 송부 부탁드립니다. hijong01@naver.com
-
미해결코드로 배우는 React with 스프링부트 API서버
react-redux install 이 안되네요 ...
Module not found: Error: Can't resolve 'react-redux'... 이런 에러문구가 나오는데 계속 랜더링 오류가 납니다... 다음 추가 한일 1) npm i 2) node_modules 제거 후 다시 npm i
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
어떤 경우에 양방향 연관관계를 사용하나요??
[질문 내용] 제가 생각하는 양방향 연관관계를 사용하는 이유는 다음과 같습니다. 1) 조회 : team.getMembers().stream ... 근데 이러면 모든 Member 들이 DB에서 불러와지니까 만약 조회해야 할 대상이 많은 경우(members가 너무많아서 페이징 처리를 해야 하는 경우) 는 양방향 연관관계를 삭제하고 그냥 JpaRepository 에서 쿼리로 페이징 쿼리를 작성해야 한다. 2) CascadeType.all 혹은 orphanRemoval true 를 위한 매개체 1번, 2번 이외에는 쓸데없는 것 맞을까요?? 특히 강조한 부분의 제 생각이 맞는지 궁금합니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
26강 오류 질문
26강까지 내용을 모두 따라하고 실행하니 다음과 같은 오류가 뜹니다j.LocalContainerEntityManagerFactoryBean : Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]o.s.boot.SpringApplication : Application run failed yml 설정도 잘 하고 mySql 버전도 맞는데 왜 오류가 날까요? ㅜㅜ
-
해결됨입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기
Kotlin: Unresolved reference: MappedSuperclass
실습 2 클래스 생성 3분 에아래 코드를 작성했는데@MappedSuperclassKotlin: Unresolved reference: MappedSuperclass오류가 떠요 "persistence" 이것도 안보여요import jakarta.persistence.MappedSuperclass build.gradle.kts 의존성은 아래처럼 되어 있어요 plugins { id("org.springframework.boot") version "3.2.3" id("io.spring.dependency-management") version "1.1.4" kotlin("jvm") version "1.9.22" kotlin("plugin.spring") version "1.9.22" } dependencies { implementation("org.springframework.boot:spring-boot-starter-thymeleaf") implementation("org.springframework.boot:spring-boot-starter-validation") implementation("org.springframework.boot:spring-boot-starter-web") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("org.jetbrains.kotlin:kotlin-reflect") runtimeOnly("com.h2database:h2") runtimeOnly("com.mysql:mysql-connector-j") testImplementation("org.springframework.boot:spring-boot-starter-test") } 깃은https://github.com/justkjy/portfolio-justkim 입니다. 왜 못찾는다고 할까요? 추가 왜 JPA 관련 에러가 계속 나는걸까요??
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
생성 메서드 질문드립니다.
오늘 고민있어요부터 질문이 벌써 세 번째네요 ^^; 항상 친절히 답변주셔서 감사합니다. 강의에서 말씀하신 '생성 메서드'가 JPA 기본편의 '연관관계 편의 메서드' 같다는 생각이 듭니다. 물론 연관관계 편의 메서드처럼 하나의 메서드로 양방향 setter 역할을 해주는 건 아니지만, 좀 유사점이 있다고 보이는데 맞을까요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Order 테이블의 '전체 주문 가격 조회' 메서드의 위치
전체 주문 가격을 조회하는 메서드(getTotalPrice)가 Order 클래스에 위치하고 있습니다. 그런데 주문 상품과 그 수량에 대한 정보는 OrderItem에 있습니다. 따라서 해당 엔티티에 전체 주문 가격을 조회하는 로직이 있어야 자연스러울 것 같은데 강의에서는 Order에 위치하고 있습니다. 전체 주문 가격을 조회하는 메서드가 둘 중 어디에 있어도 상관 없는건가요, 아니면 강의에서처럼 Order 클래스에 있어야만 하는데 제가 놓친 것이 있을까요?
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
springSecurity
이미 질문남기신 분들이 많기에 해당 코드들을 따라서 실행하려고 해 보았으나 스프링 시큐리티 버젼이 올라감에 따라 새롭게 코드를 작성을 해보기 위해 문서를 참고해서 수정을 했습니다만 접속을 하려고 보니 HTTP ERROR 403 에러가 뜨면서 localhost접근이 막히더군요 혹시 고쳐야할 부분이 있을까요?
-
미해결실전! 스프링 데이터 JPA
JpaMetamodelEntityInformation 내부의 isNew 메서드에서 조건 분기 시 다음 조건은 무엇을 의미하나요?
public boolean isNew(T entity) { if (!this.versionAttribute.isEmpty() && !(Boolean)this.versionAttribute.map(Attribute::getJavaType).map(Class::isPrimitive).orElse(false)) { BeanWrapper wrapper = new DirectFieldAccessFallbackBeanWrapper(entity); return (Boolean)this.versionAttribute.map((it) -> { return wrapper.getPropertyValue(it.getName()) == null; }).orElse(true); } else { return super.isNew(entity); } } 조건문을 타지 않고 else 절로 넘어가면 super.isNew()를 호출하고, 상위 추상 클래스인 AbstractEntityInformation 클래스의 isNew() 메서드에서 Entity id 필드가 Null, 0L인지 판단하는 걸로 이해했습니다.강의 범위가 아니긴 하지만 JpaMetamodelEntityInformation 클래스의 isNew() 내에서 versionAttribute가 존재하는지 확인하는 부분은 어떤 것을 확인하는 것인지 궁금합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
마지막 챕터 질문입니다.
홈 화면과 레이아웃14분에서 resource를 싱크로 나이즈 하는 장면이 나오는데 제화면에서 그버튼이 없는데 혹시 버전이 상승되서 없어진건가요?bootstrap.css 이 파일에서 Cannot resolve '--bs-icon-link-transform' custom property 이렇게 빨간 줄 뜨는데 어떻게 해야 하나요?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
양방향 연관관계와 연관관계의 주인
안녕하세요! 현재 열심히 공부하고 있는 취준생입니다. 다름이 아니라 지금 복습을 하다가 연관관계의 주인 쪽이 좀 살짝 헷갈려서 질문을 남기게 되었습니다. 제가 이해한 바로는 다대일, 일대다 -> 다(N) 이 연관관계의 주인 , 연관관계의 주인만이 외래키를 등록, 수정 가능하다로 이해했습니다. 지금 제가 첨부한 2번째 사진을 보면 MEMBER 에 TEAM_ID 라는 외래키가 있고 MEMBER 가 다(N) 이기 때문에 연관관계의 주인이다. 여기까지는 완벽하게 이해를 했습니다.근데 제가 지금 헷갈리는 포인트가 뭐냐면, 주인은 mappedBy 속성을 사용할 수 없다고 했습니다. 근데 mappedby 뜻 자체가 ~에 의해 되었다 니까 mappedby = "" 에 오는게 주인 아닌가요?? 결론적으로 제가 궁금한것은 3번째 사진에 @OneToMany(mappedby = "team") 이 부분인데, team 객체와 TEAM_ID 라는 외래키가 연관관계를 맺고 있어서 해준건가요?....ㅠㅜㅜㅜ 너무 헷갈리네요 ㅜㅜㅜㅜㅜ 지금 Member 클래스에 private Team team; 이라는 코드가 있는데, mappedby 뒤에 온 team 이 private Team team 이 team 인거 같은데 왜 mappedby = "team" 이렇게 된건가요?? 외래키와 연관관계를 맺고 있어서 그런건가요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
애플리케이션 아키텍처의 참조에 대한 궁금증
안녕하세요, 강의 잘 듣고 있습니다. 다름이 아니라 '애플리케이션 아키텍처' 강의를 듣다가 평소에 별 의식없이 해왔던 계층(컨트롤러, 서비스, 리포지토리)간 참조에 대해 궁금증이 생겨 질문드립니다. 일반적인 설계방식인 컨트롤러, 서비스, 리포지토리 계층으로 이어지는 아키텍처는 단방향으로 참조하는 것이 바람직한가요?컨트롤러 -> 서비스 -> 리포지토리 // 단방향으로만 참조하도록 해야하나요
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
OrderServiceTest에서 Rollback(false) annotation을 붙였을 때 에러가 나는 이유
[질문 내용]현재상황OrderServiceTest에서 상품주문()을 테스트 중입니다.테스트 중 에러가 나서 코드를 검토해보았는데,@Rollback(false) Annotation이 있었습니다.Rollback(false)자체가 테스트 결과에 직접적인 영향을 줄 수는 없다고 생각하여 무시했었습니다.그러나 Rollback(false) 어노테이션을 지웠더니 테스트가 정상적으로 작동하였습니다.궁금한 점구글링도 해보고, 강의도 다시 들어보았지만Rollback(false) 어노테이션이 상품주문 테스트 성공/실패에 어떠한 영향을 미치는지 궁금합니다.
-
미해결Java/Spring 테스트를 추가하고 싶은 개발자들의 오답노트
컨트롤러에서 받는 request dto에 대해 궁금한점
강사님께서 짜주신 코드에서는 컨트롤러에서는 요청을 받는 DTO를 Domain까지 전파해서 활용하시던데, 보통 코드를 보면 컨트롤러에서 받은 Request Dto -> Domain으로 변환 후에 비즈니스 로직을 처리하는 코드도 많이 봤어서 어떻게 옳고 그른지 궁금합니다.또한 Request Dto를 도메인에서 파라미터로 받아서 활용해도 되는지도 궁금하구요.
-
미해결실전! 스프링 데이터 JPA
Merge 관련해서 질문드립니다.
안녕하세요 영한님, 정말 좋은강의 잘 듣고있습니다. Merge관련해서 질문이 하나있는데요..! 아래 두 method 모두 시작할때 persistence context가 비어있고 찾는 entity가 db에 있다고 가정할때 비슷한 (혹은 같은) flow로 진행될까요? 여기서 method parameter, Entity e,는 업데이트될 (id가 set되어있고 field가 업데이트 되어있는)객체입니다. @Transactional public void updateEntity(Entity e){ Entity foundEntity = em.find(Entity.class, e.getid()); foundEntity.setFieldOne("New Data"); }@Transactional public void updateEntity(Entity e){ em.merge(e); }Merge를 꼭 써야하는건 아니지만, 그냥 동작 메커니즘이 궁금해서 질문드립니다. Merge를 쓰는게 Update전에 항상 Select query로 db에서 객체를 조회하기때문에 쓰기를 지양하라고 하시는건가요, 아니면 merge를 쓸때 또 다른 downside가 있나요?