我有这样的模型:
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "resourceType", discriminatorType = DiscriminatorType.INTEGER)
public abstract class Resource {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
Long id;
String foo;
}
@MappedSuperclass
public abstract class NetworkResource extends Resource {
String bar;
}
@Entity
@DiscriminatorValue(value = "1")
public class URL extends NetworkResource {
String url;
}
我将区分值放在所有更具体的实现中,因为我不想在大多数情况下加入所有扩展资源的表,我将仅加入 networkresource
表,例如。
所以,我想知道我该怎么做。
我已经尝试过类似的东西:
SELECT c FROM URL c LEFT JOIN c.resource r where r.resourceType = 1 and r.url = :ip
但是当我添加r.resourceType = 1
.
那么,我该怎么做呢?
谢谢。