1. 程式人生 > >Hibernate 的hql 查詢,然後轉換為物件

Hibernate 的hql 查詢,然後轉換為物件

 Hibernate 的hql 查詢,如果繫結的話,一下查詢,會查詢所有繫結的資料。這個不用多說,但是,如果查詢的時候,因為前臺需要展示出來,但是,關聯關係比較複雜,到時候,展示出來也比較複雜。比如我用的是easyui展示到datagrid 中。那個需要轉化。雖然轉化比較簡單,但是,每一個都寫的話,也很麻煩。但是,在後臺轉換為一個物件,也比較麻煩。使用自己斟酌。哪個麻煩,哪個簡單,由你來定。

    首先說一下,我這個比較複雜,轉換起來,也很麻煩。有些地方不需要轉換出來,也查詢出來了。

    sql與hql相比較來說,沒的說,因為,sql沒有測試,但是,sql用的是sql語句,如果修改的話,總是麻煩。不如用hql。有時間再測試一下,看坑能不能轉換為物件吧。

    我就說幾個重點的必經步驟。

    1.hql語句,這個需要特別的注意,因為,一開始,我也不懂。寫法如下:

 SELECT NEW 包名.entity1(查詢的實體物件的各個屬性) FROM entity2

        註解:1.包名.entity1 ,這個裡邊呢,包名為什麼加上不是太清楚,只是因為需要轉換物件,難道是因為沒有進行對映麼?有時間了再計較。

                2.entity1與entity2,這兩個實體類不不是同一個,前者也就是entity1,是你最終想要轉換的實體類,entity2,是你查詢的實體類。

    2.你轉換的實體類的物件,需要建構函式。需要的建構函式,需要跟你查詢的物件的引數列相同。

    3.包名,需要包名,並不知道原因。因為查詢的時候,總是報錯,型別轉換錯誤,查無物件。所以,我添加了包名。哦,這個跟註解的重複了。算了.....

    暫且就寫到這兒了吧,總感覺還有些東西需要記錄一下,忘了...