У меня есть Продукт суперкласса и Сокращение подкласса. Теперь я хочу, чтобы подкласс переопределил свойство суперкласса, чтобы оно не сохранялось в базе данных. Я ожидал, что он будет работать, как это, но, очевидно, hibernate все еще пытается сохранить свойство ProductType Reduction в базе данных. Есть ли другой способ исправить это?
@Entity
@Table(name="PRODUCT_INSTANCE")
public class Product {
private Integer id;
protected ProductType productType;
public Product(){
}
public Product(ProductType productType) {
this.productType = productType;
}
@OneToOne
public ProductType getProductType() {
return productType;
}
public void setProductType(ProductType type) {
this.productType = type;
}
@Transient
public ProductCategory getCategory() {
return productType.getCategory();
}
}
И подкласс:
@Entity
@Table(name="REDUCTION")
public class Reduction extends Product {
private ProductType type;
private Integer id;
public Reduction(Double percentage, Double totalPrice) {
ProductCategory reductionCat = new ProductCategory("_REDUCTION_", new Color("", 130, 90, 80));
type = new ProductType();
type.setBuyPrice(0.0);
type.setBtw(BTW.PER_0);
type.setCategory(reductionCat);
}
@Override
@Transient
public ProductType getProductType() {
return type;
}
}