안녕하세요. JPA/Hibernate를 사용하여 클래스 계층 구조를 단일 테이블에 매핑하려고하고 "내 엔터티에 정의 된 기본 키 특성이 없습니다"라는 내 하위 클래스에서 오류를 수신하려고합니다. 클래스는 다음과 같이 정의됩니다.Hibernate Single_Table persistence 하위 클래스에 기본 키 속성이 정의되지 않았다.
@Entity
@Table(name = "payments")
@Inheritance (strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="creditDebitFlag",discriminatorType=DiscriminatorType.STRING)
@Veto
public abstract class Payment implements IPayment, Serializable{
private static final long serialVersionUID = 8354755060201271169L;
public Integer id;
...
@Override
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
public void setId(Integer id) {
this.id = id;
}
@Override
public Integer getId() {
return this.id;
}
}
@Entity
@DiscriminatorValue("C")
@Veto
public class CreditPayment extends Payment implements Serializable {
private static final long serialVersionUID = 1L;
public CreditPayment() {
super();
}
}
내가 뭘 잘못하고 있니? Hibernate docs을 읽었으며 Google을 통해 꽤 많은 시간을 보냈으며 내가 놓친 것을 볼 수 없었습니다.
미리 도움을 주셔서 감사합니다.
그게 전부 였어! 나는 getter에 주석을 설정했다는 것을 맹세 할 수 있었지만, 나는 그것들을 옮겼고 문제는 사라졌다. 고맙습니다! – user599144