본문 바로가기
Framework/Spring

Spring 오류 정리 3. javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: "엔티티 디렉토리" colu..

by Cs.Woo 2021. 8. 13.

#1 원인

  해당 엔티티 클래스 내부에서 지정한 칼럼 어노테이션에 중복이 있기 때문에, 빈 생성에 실패하면 발생하는 오류

 

#1 해결

  해당 엔티티 클래스의 @Column 어노테이션의 name 프로퍼티의 중복이 있나 확인하여야 한다. 예제는 다음과 같다.

 

import lombok.*;

import javax.persistence.*;

@Entity
public class Member {

    @Id @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    @Column(name = "memberId", nullable = false)
    private String memberId;

    // 에러 발생부분 Column의 name 프로퍼티가 memberId로 겹쳐있다.
    @Column(name = "memberId", nullable = false)
    private int authLevel;

}

/*
 해결
  @Column(name = "authLevel", nullable = false)
  private int authLevel;

*/
// 필드와 네임 프로퍼티의 이름을 같게 설정하면 해결 가능하다.