1

Customer、Request などのテーブルがあり、それぞれに 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