Java 冬眠“;其中-继承类中的注释
我有一个从其超类(位置)继承的实体(存储)。 存储和位置有自己的表(InheritanceType“joined”) 该位置具有一个属性(活动) 在另一个实体中,我有一个商店列表(OneToMany关系)。这些列表应仅包含活动存储。 我在上面加了注释Java 冬眠“;其中-继承类中的注释,java,hibernate,inheritance,where,Java,Hibernate,Inheritance,Where,我有一个从其超类(位置)继承的实体(存储)。 存储和位置有自己的表(InheritanceType“joined”) 该位置具有一个属性(活动) 在另一个实体中,我有一个商店列表(OneToMany关系)。这些列表应仅包含活动存储。 我在上面加了注释 @Where(clause="active = 'Y'") 但它不起作用: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column
@Where(clause="active = 'Y'")
但它不起作用:
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'stores0_.active' in 'where clause'
因为表“stores”没有“active”属性,所以它的父表有(这是一个自己的表)。where注释是否有父选择器,或者是否有更好的解决方案
地点:
@Entity
@Table(name = "locations")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Location {
[..]
@Column(name = "active")
@Type(type = "yes_no")
private Boolean isActive;
商店:
@Entity
@Table(name = "store")
@PrimaryKeyJoinColumn(name="id", referencedColumnName= "id")
public class Store extends Location {
[..]
@ManyToOne()
@JoinColumn(name = "shop_id")
private Shop shop;
商店:
@实体
@表(name=“shop”)
@PrimaryKeyJoinColumn(name=“id”,referencedColumnName=“id”)
公营店铺扩展位置{
[...]
@其中(子句=“活动=‘Y’”)
@OneToMany(mappedBy=“商店”)
私人名单商店;
您可以发布您的实体代码片段吗?
@Entity
@Table(name = "shop")
@PrimaryKeyJoinColumn(name = "id", referencedColumnName = "id")
public class Shop extends Location {
[...]
@Where(clause="active = 'Y'")
@OneToMany(mappedBy ="shop")
private List<Store> stores;