Когда я пытаюсь сохранить объект Customer, исключение указывает, что он не может вставить NULL в () ...
Я полагаю, что исключение вызвано из-за используемой аннотации @Embeddable
Но когда я явно устанавливаю значение customer_id, оно работает нормально, но значение не сохраняется как внешний ключ в таблице Customerphone.
@Entity
@Table(name = "CUSTOMER")
public class Customer implements java.io.Serializable {
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "Customer")
public Set<CustomerPhone> getCustomerPhones() {
return this.CustomerPhones;
}
}
@Entity
@Table(name="CUSTOMER_PHONE")
public class CustomerPhone implements java.io.Serializable {
private CustomerPhoneId id;
@EmbeddedId
@AttributeOverrides( {
@AttributeOverride(name="customerId", column=@Column(name="CUSTOMER_ID", nullable=false, precision=22, scale=0) ),
@AttributeOverride(name="phoneTypeCd", column=@Column(name="PHONE_TYPE_CD", nullable=false, length=5) ) } )
public CustomerPhoneId getId() {
return this.id;
}
public void setId(CustomerPhoneId id) {
this.id = id;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="CUSTOMER_ID", nullable=false, insertable=false, updatable=false)
public Customer getCustomer() {
return this.stpCustomer;
}
}
@Embeddable
public class CustomerPhoneId implements java.io.Serializable {
private BigDecimal customerId;
@Column(name="CUSTOMER_ID", nullable=false, precision=22, scale=0)
public BigDecimal getCustomerId() {
return this.customerId;
}
}