0
我正在爲Glassfish的廣告編寫Web服務器。每個廣告具有類別和地點。每個類別或地點可能有子類別/子地點。帶有幾個關係和映射參數的JPA查詢
我想選擇廣告白皮書類別樹和地點樹。下面顯示了我爲此場景創建的實體類。
類別實體:
@Entity
public class Category {
@Id
private Long id;
@OneToMany(mappedBy="category")
List<Ad> ads;
@Basic
private String path;
}
的地方實體:
@Entity
public class Place {
@Id
private Long id;
@OneToMany(mappedBy="place")
List<Ad> ads;
@Basic
private String path;
}
的廣告實體:
@Entity
public class Ad {
@Id
private Long id;
@ManyToOne
Category category;
@ManyToOne
Place place;
所以我添加了一個名爲字段/列路徑爲類別和地點。此路徑是一個字符串,必須以其父母路徑開頭。所以,如果我想找到的所有廣告whitin類別和地方,然後我會做以下僞查詢:
SELECT a from Ad a WHERE Category.pathid "STARTS WITH" getCategoryPathByID(PARAMETER 1)
AND Place.pathid "STARTS WITH" getPlacePathByID(PARAMETER 2)
我有很難搞清楚,因爲我不知道如何與一個JPA查詢做到這一點如何加入類別&地方表和如何匹配路徑給定ID。
任何人都可以幫助我如何構建此查詢?