1

我有客户、请求等表,每个都有 ID 字段;我现在有一个抽象的@MappedSuperclass,而不是

@Id @GeneratedValue private Long id

字段,并且所有表都使用 @AttributeOverride(name="id", column=@Column(name="ID_CUSTOMER"). 但是现在,当我尝试将客户添加到表中时,出现异常:列 ID_Customer 不能接受 Null 值。当每个表都有自己的 id 字段时,一切正常。怎么了?谢谢

@MappedSuperclass
public abstract class GeneralEntity implements Serializable,Cloneable{

@Id
@GeneratedValue
@Column(name = "ID")
private Long id;

@Column(name = "CREATED",nullable = false)
@Temporal(TemporalType.TIMESTAMP)
private Date created;

@Column(name = "MODIFIED")
@Temporal(TemporalType.TIMESTAMP)
private Date modified;
//getters,setters 

@Entity
@Table(name = "CUSTOMER")
@AttributeOverrides({
@AttributeOverride(name = "id", column = @Column(name="ID_CUSTOMER")),
@AttributeOverride(name="created",  column=@Column(name="CUSTOMER_REGISTERED",nullable = false))
})
public class Customer extends GeneralEntity{

//    @Column(name = "ID_CUSTOMER")
//    @Id
//    @GeneratedValue
//    private Long id;

@Column(name = "CUSTOMER_EMAIL", nullable = false, length = 25, unique = true, updatable = true)
private String email;

@Column(name="CUSTOMER_PASSWORD", nullable = false)
private String password;
//getters setters
4

0 回答 0