[英]how do i filter data while fetching data from database using hibernate?
我有多個包含大量數據的表。 我只說與這個問題有關的事情。 為了在jsp上呈現數據,我只需要來自不同表的選擇性數據。
關於旅行度假,可以說我必須檢索並提供假期套票名稱,行程持續時間和每次違約的總價。
HolidayPackage
(ID,名稱) Itinerary
(idPkg,idItinerary,dayNum)=(給定包裹的行程行總和) =(總和(基本(idPkg)+總計(idPkg)))
我正在將Hibernate和mysql用作數據庫。
想法:
我可以使用視圖將數據提取到我的自定義Java對象Result中,其中Result定義為:
class Result{ String name; Intger itineraryDuration; BigDecimal totalPrice; }
另外,我可以使用函數作為視圖中列值的定義嗎?
我對視圖所做的是創建一個不可變的休眠模型類和關聯的DAO以查詢模型類。
我對模型類進行了如下注釋:
@Entity
@Immutable
@Table(name = "CLASSIFICATION_LABELS_V", schema = "CORPORATE")
我還將設置器設置為protected,但這是可選的。
如果視圖的結構類似於現有模型類,則可以使用命名查詢,並使用resultClass屬性將其映射到模型。 以下內容適用於Oracle,因此如果使用其他內容,則查詢參數將有所不同。
@NamedNativeQueries({
@NamedNativeQuery(name = "create_product_from_template", query = "call pkg_authoring.sp_create_prod_from_template(?, :productId, :templateId)", resultClass = TblProduct.class, callable = true)
})
在休眠狀態下,可以使用以下功能:
@Formula(value = "(select fnHasProducts(customerId) from dual)")
@AccessType("property")
private Integer products = 0;
@Formula(value = "(select fnAssigneeForProduct(productId) from dual)")
private Integer assignee = 0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.