国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用JPA查詢數據庫遇到的兩個問題

madthumb / 950人閱讀

摘要:使用的在使用方法時,這個方法進行了重載,我經常使用的兩個方法分別為這兩個方法的區別是第二個方法查詢之后可以強轉為相應的類傳入的例如而如果使用第一個方法,將無法強轉,這時候查詢得到的數據為的,例如注其實這個查詢可以通過配置映射關系簡化第二個問

使用EntityManager的createNativeQuery

在使用createNativeQuery方法時,這個方法進行了重載,我經常使用的兩個方法分別為

createNativeQuery(String sql)

createNativeQuery(String sql,Class aClass)

這兩個方法的區別是第二個方法查詢之后可以強轉為相應的類(傳入的class),例如:

Query query = em.createNativeQuery("select * from trainingclass 
    where id in (select distinct classid from classunsubscribe where traineeId=""+traineeId+"")"
    ,TrainingClass.class);
List classes = query.getResultList();

而如果使用第一個方法,將無法強轉,這時候查詢得到的數據為object[]的list,例如:

Query query = em.createNativeQuery(
   "select t.*,c.date reserveDate,c.isLearned from trainingclass t,
    classreserve c where t.id=c.classid AND t.id in" +
   "(select distinct classid from classreserve c1 where c1.traineeId=""+traineeId+"")");
List classes = query.getResultList();
List results = new ArrayList<>(classes.size());
for (int i = 0; i < classes.size(); i++) {
    Object[] obj = (Object[]) classes.get(i);
    ReserveStatistics temp = new ReserveStatistics((int)obj[0],String.valueOf(obj[1]),
        String.valueOf(obj[2]),String.valueOf(obj[3]),String.valueOf(obj[4]),
        (double)obj[5],String.valueOf(obj[6]),String.valueOf(obj[8]),(int)obj[9]);
    results.add(temp);
}
return results;

(注:其實這個查詢可以通過配置映射關系簡化)

第二個問題

在使用原生的sql語句進行查詢時,如果查詢語句設計多張表,而多張表又有取名相同的字段,則需要為相同的字段取一個別名,如

select t.*,c.date reserveDate,c.isLearned from trainingclass t, classreserve c

這邊因為trainingclass表中有屬性和classreserve 表中有一個取名相同的字段date,所以需要給其中一個“重命名”,否則會出現
org.hibernate.loader.custom.NonUniqueDiscoveredSqlAliasException錯誤

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66775.html

相關文章

  • 使用SpringData+JPA@Query注解完成動態條件分頁查詢

    摘要:正文公司使用的是現在流行的,數據庫方面使用的是。這幾天用的最多的就是用進行查詢了,簡單的查詢很簡單,網上查一查就有一堆方案,直到遇到分頁查詢的時候出了問題。 寫作原因 之前在學校都是做前端,但是最后找了個Java后端的工作,框架什么的基本沒用過,所以工作中遇到了很多問題,所以決定記錄下來工作中遇到的問題,記錄成長的點滴。 正文 公司使用的是現在流行的SpringBoot,數據庫方面使用...

    melody_lql 評論0 收藏0
  • Spring Boot+SQL/JPA實戰悲觀鎖和樂觀鎖

    摘要:所以悲觀鎖是限制其他線程,而樂觀鎖是限制自己,雖然他的名字有鎖,但是實際上不算上鎖,只是在最后操作的時候再判斷具體怎么操作。悲觀鎖和樂觀鎖比較悲觀鎖適合寫多讀少的場景。 最近在公司的業務上遇到了并發的問題,并且還是很常見的并發問題,算是低級的失誤了。由于公司業務相對比較復雜且不適合公開,在此用一個很常見的業務來還原一下場景,同時介紹悲觀鎖和樂觀鎖是如何解決這類并發問題的。 公司業務就是...

    Keven 評論0 收藏0
  • JPA多表復雜查詢

    摘要:我將舉幾個栗子,來詳細的說一下我自己在使用多表復雜查詢的場景和想法。名字手機號這是一個單表的多條件復雜查詢,由于是在幾個屬性中進行篩選,其中的屬性的個數不知道有多少個,所以只需要利用查詢就可以很方便的實現這個需求。 最近工作中由于要求只能用hibernate+jpa 與數據庫進行交互,在簡單查詢中,jpa繼承CrudRepository接口 ,然后利用jpa的方法命名規范進行jpql查...

    chaos_G 評論0 收藏0

發表評論

0條評論

madthumb

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<