2
我有我的模式是這樣的:加入只有在一個實施
@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
。
那麼,我該怎麼做呢?
謝謝。
你想通過'c.resource'在你的查詢中說什麼? 'c'是一個'URL','URL'沒有'resource'屬性。 –