본문 바로가기

반응형

상속

(2)
[JPA] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.MappingException: Repeated column in mapping for entity: .ProductTag column: register_times (should be mapped with insert="false" update="false") 상황 JPA를 사용하면서 임베디드 타입에 공통으로 사용하는 시간 엔티티를 상속했더니 에러가 발생했습니다. 문제 파악 임베디드 타입에는 아래와 같은 공통으로 사용하는 추상 클래스를 상속해서 생기는 문제였습니다. 해결 방법 임베디드 타입에는 상속을 하지 않도록 합니다.
[java-기초-07] 상속 상속이란 현실에서 상속은 부모가 자식에게 물려주는 행위이고 객체 지향에서도 부모 클래스의 멤버를 자식 클래스에게 물려주는 필드와 메소드를 의미한다. 상속을 하면서 중복이 줄어들고 다형성을 가질 수 있다. 부모 클래스에서 private 접근 제한을 갖는 필드와 메서드는 상속 대상에서 제외된다. 부모 클래스와 자식 클래스가 다른 패키지에 존재한다면 default 접근 제한을 갖는 필드와 메서드도 상속 대상에서 제외 된다. 자손의 변경은 조상에 영향을 미치지 않는다. 포함(컴포지션, composite)이란 클래스의 멤버로 참조변수를 선언하는 방식을 포함이라 한다. 상속 대신에 포함을 사용할 수 있는지 확인하자. 작은 단위의 클래스를 만들고, 이 들을 조합하는 클래스 포함과 상속 중 어느것으로 구현해야 할지 모..

반응형