標籤:
1.在Hibernate中,以下關於主鍵產生器說法錯誤的是(AC)。
A.increment可以用於類型為long、short或byte的主鍵。
B.identity用於如SQL Server、DB2、MySQL等支援識別欄位的資料庫。
C.sequence用於如Oracle、SQL Server等支援序列的資料庫。
D.native由Hibernate根據底層資料庫自行判斷採用何種主鍵建置原則,是由使用的資料庫產生主鍵的值。
解析:A int相同
C SQL Server無序列
2.在Hibernate中,關於髒檢查和重新整理緩衝說法正確的是(AB)。
A.當事務提交時,會發生髒檢查
B.Session的flush( )方法是重新整理緩衝的方法
C.在執行Session的commit( )方法之前不會調用Session的flush( )方法
D.編寫代碼時,調用commit( )方法之前要調用flush( )方法
解析:C.commit是tx事務的方法 事務提交前必須調用
D.沒有手動寫過
重新整理緩衝:重新整理緩衝的事情就是髒檢查
兩種方式:1.事務提交 2.session.flush();
3.使用HQL查詢所有部門資訊,以下正確的是(AD)。
A.from Dept
B.select * from cn.jbit.demo.entity.Dept
C.select Dept from cn.jbit.demo.entity.Dept d
D.select d from Dept d
解析:很明顯。
4.關於Query介面的list( )和iterate( )方法,說法正確的是(AD)。
A.執行list( )方法,查詢所有合格記錄
B.執行iterate( )方法,查詢所有合格記錄
C.執行list( )方法,查詢出所有合格主索引值
D.執行iterate ( )方法,查詢出所有合格主索引值
解析:B返回Iterate介面
C iterate ( )方法
5.在HQL中,關於Query介面綁定參數的方法,說法正確的是(ABCD)。
A.setParameter( )方法用於綁定任意類型的參數
B.setParameter( )有重載的方法
C.setProperties( )有重載的方法
D.setProperties( )方法用於綁定具名引數
解析:所示
6.在Hibernate中,關於以下映射配置,說法錯誤的是(D)。
<hibernate-mapping>
<class name="cn.jbit.hibernatedemo.entity.Emp" table="EMP" schema="scott">
<id name="empNo" column="EMPNO" type="java.lang.Integer">
<generator class="assigned"/>
</id>
<property name="salary" type="java.lang.Double" column="SAL"/>
<property name="hireDate" type="java.util.Date"/>
<many-to-one
name="dept"
column="DEPTNO"
class="cn.jbit.hibernatedemo.entity.Dept"
/>
</class>
</hibernate-mapping>
A.此配置資訊描述了cn.jbit.hibernatedemo.entity.Emp類和EMP表的映射
B.描述的是scott使用者的EMP表
C.<many-to-one>標籤中的name屬性值dept是cn.jbit.hibernatedemo.entity.Emp類的屬性名稱
D.<many-to-one>標籤中的column屬性值DEPTNO是dept表的主鍵名
解析:D是Emp表的外鍵
7.在Hibernate對應檔中,關於inverse屬性說法正確的是(ACD)。
A.inverse屬性有兩個值:true、false
B.<many-to-one>標籤有inverse屬性
C.<set>標籤有inverse屬性
D.inverse屬性用於指定維護關聯關係的那一方
解析:
inverse:維護關聯關係
true: 自己不維護關聯關係,對方維護
false:自己維護關聯關係
<many-to-one>無inverse屬性
8.在Hibernate對應檔中,關於消極式載入配置說法錯誤的是(BD)
A.<class>標籤中lazy屬性可選值:true、false
B.<set>標籤中lazy屬性可選值:true、proxy和no-proxy 無true
C.< set>標籤中lazy屬性可選值:true、extra和false
D.<many-to-one>標籤中lazy屬性可選值:proxy、true和false
解析:
類層級 true(預設),false
一對多和多對多 true(default),false,extra(加強消極式載入)
多對一(沒有set) proxy(default),no-proxy,false
9.在Hibernate對應檔中,關於<component>標籤說法正確的是(ABC)。
A.<component>標籤用來映射組件類
B.<component>標籤通過<parent>指定組件類所屬的整體類
C.<component>標籤通過<property>指定組件類的屬性
D.<component>標籤有id、name、class屬性
解析:
10.MyBatis指定設定檔的根項目使用的是(B)。
A.<sqlMapConfig>
B.<configuration>
C.<setting>
D.<environments> MyBatis中串連資料庫的根標籤
11.在MyBatis中,ExecutorType的值包括(ABD)。
A.ExecutorType.SIMPLE
B.ExecutorType.BATCH
C.ExecutorType.EXECUTE
D.ExecutorType.REUSE
12.關於Hibernate緩衝說法錯誤的是(CD)。
A.Hibernate緩衝一般分為三類:一級緩衝、二級緩衝和查詢快取
B.Session的evict( )方法用於從緩衝中清除指定的持久化對象
C.Session的clear( )方法用於重新整理緩衝
D.Session的flush( )方法用於從緩衝中清除所有持久化對象
解析:CD剛好相反
14.關於Hibernate批量處理資料說法正確的是(CD)。
A.使用HQL進行大量操作,Hibernate不支援批量插入
B.使用JDBC API進行大量操作,SQL語句中涉及的資料會被載入到Session緩衝,佔用記憶體空間
C.使用Session進行大量操作,資料會被載入到Session緩衝,需注意重新整理並清空緩衝
D.使用Session進行大量操作,適用於需要通過代碼處理的複雜的商務邏輯情境
解析:A.HQL也是一種批量處理的一種方式。
B.只有session批量處理建立在緩衝的基礎上
16.關於HQL子查詢中,說法錯誤的是(C)。
A.size( )或size用於擷取集合中元素的數目
B.elements( )擷取集合中的所有元用於素
C.any關鍵字用於子查詢語句返回所有記錄
D.in關鍵字與“=any”意思相同
解析:any返回單條記錄。
17.關於原生SQL查詢和命名查詢,說法正確的是(ABC)。
A.執行原生SQL,需使用SQLQuery對象
B.SQLQuery是一個介面,繼承了Query介面
C.Hibernate支援在對應檔中定義字串形式的查詢語句,這樣的語句是命名查詢語句
D.命名查詢語句只能是HQL語句,不能是SQL語句
解析:原生sql也可命名查詢
18.在 Hibernate中,關於映射Oracle中的BLOB和CLOB類型的方法,說法正確的是(BCD)。
A.CLOB類型只能映射為java.lang.String
B.BLOB類型可以映射為java.sql.Blob
C.BLOB類型可以映射為byte[]
D.CLOB類型可以映射為java.lang.String或java.sql.Clob
解析:A可映射為java.sql.Clob
19.在Hibernate中,關於Criteria運算方法說法錯誤的是( CD)。
A.Restrictions.ge( )方法等同於HQL運算子 >=
B.Restrictions.like("empName","s",MatchMode.START)方法用於尋找姓名以s開頭的員工
C.Restrictions.disjunction( )方法用於指定多個邏輯或
D.Restrictions.in( )方法只能用於數組
總結:最窮不過要飯,不死終會出頭,很強勢!!!
Hibernate筆試總結