JAVA

[JAVA] [오류] Error: Table [?] contains physical column name [?] referred to by multiple physical column names

밍글링글링 2023. 1. 18.
728x90

필자의 경우,

Caused by: org.hibernate.DuplicateMappingException: Table [awards] contains physical column name [created_date] referred to by multiple physical column names: [created_date], [createdDate]

created_date 칼럼에 대한 중복 오류가 발생했다.

 

@Getter
@Setter
@NoArgsConstructor
@Entity
public class Hello extends BaseTimeEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    private Date created_date;
 
}

예를 들어, 위와 같은 클래스가 있다고 보면 created_date가 1개 밖에 존재하지 않았다고 생각할 수도 있지만,

상속되어있는 클래스 내용까지 봐보자.

 

@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseTimeEntity {

    @CreatedDate
    private LocalDateTime createdDate;

    @LastModifiedDate
    private LocalDateTime modifiedDate;

}

여기에 카멜케이스로 createdDate 가 존재하였다.

상속받는 클래스에서 중복컬럼을 지우도록 하자.

 

@Getter
@Setter
@NoArgsConstructor
@Entity
public class Hello extends BaseTimeEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    //private Date created_date;
 
}

위 소스에서 주석처리로 표기하였지만, 필자는 소스를 지웠다.

728x90

'JAVA' 카테고리의 다른 글

Java(자바) 버전 변경하면서 사용하는 법  (0) 2024.06.14
[Java/자바] 이미지 리사이즈(ver. java)  (0) 2018.05.09

댓글