inflearn logo
강의

Course

Instructor

Java ORM Standard JPA Programming - Basics

Practical Example 3 - Various Relationship Mapping

insertable = false, updateable = false

2044

youman79539489

23 asked

0

Application run을 해보니 Order 클래스 내부 다대일 매핑한 Member의 JoinCloumn 어노테이션 안에 옵션 값 insertable = false, updateable = false 값을 넣으라는 에러 메세지가 뜹니다 ㅠㅠ 이유가 뭘까요 

현재 저의 코드상태입니다 https://github.com/TeMlN/JPA-Shop

 

+ 강의를 다 듣고나니 @ManyToOne은 mappedBy가 불가능 한데, insertable = false, updateable = false 라는 꼼수가 있다고 언급하셨는데 지금 제 상황과 얼추 맞는거 같은데 조언 부탁드려요 ㅠㅠ

===========================================

Exception in thread "main" javax.persistence.PersistenceException: [PersistenceUnit: hello] Unable to build Hibernate SessionFactory

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.persistenceException(EntityManagerFactoryBuilderImpl.java:1016)

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:942)

at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:56)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)

at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)

at jpabook.jpashop.JpaMain.main(JpaMain.java:15)

Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: jpabook.jpashop.domain.Order column: MEMBER_ID (should be mapped with insert="false" update="false")

at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:862)

at org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:880)

at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:902)

at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:634)

at org.hibernate.mapping.RootClass.validate(RootClass.java:267)

at org.hibernate.boot.internal.MetadataImpl.validate(MetadataImpl.java:347)

at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:466)

at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:939)

... 4 more
===========================================

java JPA

Answer 1

0

David

안녕하세요. 김태민님, 공식 서포터즈 David입니다.
.

Order 내에 member_id 라는 이름을 가진 칼럼이 이미 있기 때문입니다.

이미 member_id 라는 이름을 가진 칼럼이 있는데, @ManyToOne @JoinColumn(name = "member_id")를 설정해줌으로써 중복되기 때문입니다.

이미 작성된 member_id를 날려버리거나, JoinColumn 옵션에 insertable, updatable의 값을 false로 주면 됩니다.

.
감사합니다.

벌크연산에서 member.getAge 호출 시 영속성 컨텍스트에서 데이터를 가져오는건가요?

0

58

2

inheritance startegy 선택시 고려사항

0

42

1

Entity 동등성 비교

0

47

1

실무 조언 관련 질문입니다.

0

68

1

H2데이터베이스 파일 생성

0

78

2

서브쿼리 강의에서 ALL 예시 관련 질문드립니다.

0

70

2

수정또는 삭제시 영속성 엔티티에 값이 무조건 있어야 하나요?

0

63

1

JPQL 메소드와 락

0

63

1

Delivery @OneToOne

0

73

1

17강 4~5분대 테이블 값 조회가 안됩니다.

0

105

2

UnsupportedOperationException 발생

0

97

3

H2 Database 연결이 안됩니다.

0

103

2

연관관계 매핑 질문드립니다.

0

95

2

h2데이터베이스 실행오류

0

116

2

persistence.xml

0

121

2

양방향 연관관계에서 연관관계의 주인(mappedBy)을 왜 꼭 정해야 하나요?

0

90

1

영속성 컨텍스트

0

77

1

JPA 프록시

0

107

1

Native Query와 MyBatis

0

83

1

영속성 컨텍스트는 어떤 메모리에 저장되는건가요?

0

97

1

임베디드 타입 예시 코드 관련 질문

0

126

3

명시적 조인에서 별칭을 주면 왜 객체에 접근할 수 있나요

0

103

3

인텔리제이 패키지 커서 단축키 질문

0

113

2

혹시 현재는 ID 데이터 타입이 String이면 안되나요?

0

156

1