我的项目中有一个根类定义为:
@Entity
@Table(name = "entities")
@Inheritance(strategy=InheritanceType.JOINED)
public class CommonEntity implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "entity_id", unique = true, nullable = false)
private Long id
}
我还有其他几个继承它的类,比如用户,狗(不要问:P),评论,图片,imageGlaeries,......
我需要一种从CommonEntity表中选择对象的方法,但是我只获得属于四个指定子类的那些对象。我现在正在尝试这个:
"SELECT listItem FROM CommonEntity listItem WHERE ((listItem.class='DogEntity' and listItem.isActive = true) or listItem.class='UserEntity') or (listItem.class='DogShowEntity' or listItem.class='PageEntity') ORDER BY listItem.createdTime desc"
但它不起作用。我没有宣布一个鉴别栏,我也不认为我可以制作一个鉴别栏。有没有办法使这项工作?