1. 程式人生 > 實用技巧 >HQL連線查詢及註解錯題合集

HQL連線查詢及註解錯題合集

1、在Java程式中,下面可以提升HQL查詢效能的說法,正確的有

​ A:避免使用or的操作,儘可能的使用in

​ B:避免使用not

​ C:避免like的特殊形式

​ D:避免使用having字句

2、關於Hibernate二級快取的使用說法正確的是

​ A:不是很關鍵的資料,能容忍短時間內讀到過期資料,可以加入二級快取

​ B:應用參考的常量資料可以加入二級快取.

3、在Java程式中,對於HQL語句,陳述正確的是

​ A: Select可以省略

​ B:除了類名與屬性名,HQL語句其他地方不區分大小寫

​ C: HQL支援子查詢,這個子查詢必須被圓括號包圍起來

4、關於Hibernate的查詢效能優化,描述正確的是

​ A:使用list ()返回結果時,Hibernate會將所有查詢結果初始化為持久化物件,結果集較大時,會佔用很多的處理時間

​ B:在一對多、多對一的關係中,使用延遲載入機制,使物件在被使用時才會初始化,這樣可節省記憶體空間以及減少資料庫的負荷,而且若P0中的集合沒有被使用時,也可減少資料庫的互動從而減少處理時間

​ C:為了避免多餘載入程式不需要訪問的資料,使用延遲檢索策略

5、在Java程式中,對於HQL檢索方式的使用場合和特點,說法正確的是

​ A:支援投影查詢,檢索出物件的部分屬性

​ B:支援分頁查詢,允許使用having和group by

​ C:支援動態繫結引數

6、在Java程式中,下面可以影響Hibernate效能的說法,正確的是

​ A:在實際開發中,切忌列印SQL語句

​ B:快取

​ C:延遲載入

7、在Hibernate中,哪些是查詢效能優化的措施

​ A:使用迫切左外連線或迫切內連線查詢策略、查詢快取等方式,減少select語句的數目,降低訪問資料庫的頻率

​ B:使用延遲查詢策略等方式避免載入多餘的不需要訪問的資料

​ C:使用Query介面的iterate ()方法減少select語句中的欄位,從而降低訪問資料庫的資料量

8、在Java中使用Hibernate查詢快取適用的場合正確的是

​ A:在應用程式執行時經常使用的查詢語句

​ B:很少對與查詢語句關聯的資料庫資料進行插入、刪除或更新操作

9、在Hibernate中關於Session的get()和load()方法下列說法正確的是

​ A: load ()可以返回實體的代理類例項,支援延遲載入

10、在Java中使用Hibernate Session內的快取即一級快取,Session為 應用程式提供了管理快取的方法正確的是

​ A: evict(0bject o)

​ B: clear ()

11、在Java中使用hibernate EHCache二級快取驟有如下步驟

​ 1.將ehcache. xml檔案新增到類路徑下

​ 2.開啟二級快取

​ 3.指定使用二級快取的持久化類

​ 4.指定快取產品提供商

12、在Java程式中,關於HQL查詢的,說法正確的是

​ A: HQL支援僅查詢物件的某幾個屬性的投影查詢,可將查詢結果儲存在0bject陣列或集合中

13、在Hibernate中假設在一級快取中有快取物件dept,哪些方法能從快取中清除dept物件

​ A: session. close()

​ B: session. evict(dept)

​ C: session. clear()

14、優化Hibernate的查詢效能,其中說法正確的是

​ A:使用迫切連線(迫切內連線和迫切左外連線)、查詢快取等方式,減少Select語句的數量,降低訪問資料庫的頻率

​ B:使用Query物件的iterator()方法減少select語句中的欄位,從而降級訪問資料庫的資料量

​ C:使用延遲查詢策略等方式避免載入不需要訪問的資料和多餘的資料

15、關於HQL檢索策略說法正確的是

​ A:立即檢索:立即載入與當前物件關聯的物件,只需執行一條select語句

​ B:延遲載入:不立即載入與當前物件關聯的物件,在第一次訪問關聯物件時才載入其資訊

16、在Hibernate中有如下對映檔案, 則關於batch-size屬性說法正確的是

<set name="students" cascade="save-update" inverse="true" lazy="true" batch-size="3“>

​ A: batch-size設定批量檢索的數量

17、關於左連線left join, 右連線: right join, 內連線: inner join, 隱式內連線的描述正確的是

A:左連線: left join。如A left join B即取出A表的所有資料,由on條件關聯的B表資料,有則顯示,沒有則為空

B:內連線: inner join。 A inner join B表示A, B中同時都有的資料才取出來

C:需要連線的表放到SELECT 語句的FROM 部分,並用逗號隔開.這樣就構成了一個”交叉連線”VHERE語句可能放置一些過濾謂詞(過濾條件)

18、在Hibernate中,HQL支援的連線型別有

​ A: inner join 或join

​ B: inner join fetch 或join fetch

19、在Hibernate中,HQL的連線查詢包括以下哪些項

​ A: inner join或join

​ B: inner join fetch或 join fetch

​ C: left outer join 或lefter join

​ D: left outer join fetch或 lefter join fetch

20、在Java中使用Hibernate HQL是迫切內連線語法的是。

​ A: from Entity [inner] join fetch Entity. proper ty

21、在Hibernate中,以下哪種用法是正確的是

​ A: from Emp e left join fetch e. dept d

​ B: from Emp e inner join fetch e. dept d

​ C: from Emp e join fetch e. dept d

22、在Hibernate中,哪些場合適合使用交叉連線

​ A:結果集的記錄數為兩個表的記錄數之積

​ B:統計報表資料

23、在Hibernate中使用外連線查詢,程式碼正確的是

​ A: String hql =“from Dept d left join d. emps';

​ B: String hql =“from Dept d left join fetch d. emps”;

​ C: String hql =“from Emp e right join e. dept”;

24、在Hibernate中,關於HQL連線查詢,說法正確的是

​ A:內連線語法: inner join或inner

​ B:迫切內連線語法: inner join fetch 或inner fetch

​ C:右外連線語法: right outer : join 或right join

25、在Hibernate中,以下實現內連線或等效於內連線的HQL語句是正確的

​ A: from Emp e where e. dept. dname = ’研發部’

​ B: from Emp e inner join e.dept d where d. dname = ’研發部’

26、關於使用註解定義持久化類的說法中正確的是

​ A: @Id用於宣告持久化類的標識屬性

​ B: @Transient表示不需要持久化到資料庫的屬性

27、在Java中使用Hibernate是持久化類的註解的是

​ A: @Entity

​ C: @Table

​ D: @Transient

28、在Java中使用Hibernate @GeneratedValue指定 了識別符號的生成策略。JPA提供了多種標準用法,以下說法正確的是

​ A: AUTO :根據不同的資料庫選擇不同的策略

​ B: TABLE:使用表儲存ID值

​ C: IDENTITY: 使用資料庫自動生成主鍵(主要是自動增長型,如MySQL、SQL Server )

29、在Java中使用Hibernate註解配置持久化類@Gener atedValue標籤描正確的是

​ A:定義標識屬性值的生成策略

30、在Java中使用Hibernate註解配置持久化類描述正確的是

​ A: @Entity 宣告該類為持久化類

​ B: @Transient 將忽略這些欄位和屬性,不用持久化到資料庫

​ C: @OneTo0ne 可以建立實體Bean之間的一對一的關聯

31、在Java中使用Hibernate註解屬於類級別的標籤是

​ A: @Entity

​ B: @Table

32、在Java中使用Hibernate提供了什麼擴充套件包,使用註解完成對映

​ A: hibernate- annotations.jar

33、在Java中使用Hibernate註解步驟的順序正確的是什麼

​ 1.新增jar包

​ 2.使用註解配置持久化類及物件關聯關係

​ 3.在Hibernate配置檔案,(hibernate.cfg.xml)中宣告持久化類。

​ 4.使用AnnotationConfiguration建立會話工廠

34、下面關於Hibernate使用註解進行對映的說法中,正確的是

​ A:不需要匯入任何的jar包,hibernate的基本包就支援註解對映

​ B:可以使用@Enti ty和@Tab1e來對映實體類和表之間的關係

35、關於Hibernate使用註解進行對映的說法中,正確的是()

​ A:在使用註解之前需要匯入相關的jar包支援註解

​ B:可以使用@Enti ty和@Table來對映實體類和表之間的關係

​ C:要建立實體類和表字段之間的對映關係需要用到@column註解

36、Hibernate中,使用註解配置cascade屬性,可以使用

​ A: CascadeType. MERGE

​ B: CascadeType. REFRESH

​ C: CascadeType. ALL

37、關於Hibernate中使用註解配置關聯關係的說法中正確的是

​ A:使用@OneToMany建立一 對多關聯關係

​ B: cascade屬性的值可以通過列舉類CascadeType進行設定

38、在Java中使用Hibernate註解中cascade屬性包含的是

​ A: CascadeType. REMOVE

​ B: CascadeType. PERSIST

​ C: CascadeType. MERGE

39、在Java中使用Hibernate,使用( )註解配置多對多關聯關係

​ A: @ManyToMany

40、在Hibernate中,以下描述正確的是

​ A:使用HQL查詢語句實現分組查詢,返回的可以是一個List<Object[]>

​ B:使用HQL查詢語句實現分組查詢,返回的可以是一個0bject[]

​ C:使用Criteria分組查詢要用到Projections工具類中的groupProperty()方法

41、如果需要根據具體的業務需求進行分頁處理,HibernateTemplate的()可以更靈活的處理具體的業務需求

​ A:回撥機制

42、下列關於Hibernate分組統計資料和子查詢說法正確的一項是

​ A: Restrictions. in()方法對於sQL中的in子句

​ B: Hibernate還支援Criteria查詢(Criteria Query) ,這種查詢方式把查詢條件封裝為一個Criteria物件

​ D:使用Cri teri a進行查詢時,不僅僅能組合出SQL中where子句的功能,還可以組合出如排序、統計、分組等的查詢功能

43、在Hibernate中,能夠正確獲得部門名稱和各部]的平均工資的選項是

select dept. dname, avg(e. sal) from Emp e,Dept dept where dept. id = e.dep_ id group by dept. dname

44、在Hibernate中,能夠正確獲得商品型別名稱和各商品型別的最高價格

select productType. name, max(price) from product group by pr oductType.name

45、以下HQL查詢語句中,能夠按部門分組,計算每個部門員工的總工資的是

select d. deptNo, sum(e. sal) from Dept d join d. emps e group by d. deptNo

46、在Hibernate的HQL語句中,正確的聚合函式用法是

String hq1 = “select count(*) from Emp";
String hql = “select count (empno) from Emp";
String hq1 = “select sum(sal) from Emp";