03 Hibernate錯題分析

來源:互聯網
上載者:User

標籤:

1.在Hibernate中,以下關於主鍵產生器說法錯誤的是( C)。

A.increment可以用於類型為long、short或byte的主鍵

B.identity用於如SQL Server、DB2、MySQL等支援識別欄位的資料庫

C.sequence用於如Oracle、SQL Server等支援序列的資料庫

D.native由Hibernate根據底層資料庫自行判斷採用何種主鍵建置原則,是由使用的資料庫產生主鍵的值

解析:C 、sequence不能用於SQL Server資料庫

 

2.使用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

解析:AD、 B選項中不能存在* 這種寫法。C選項中 select 後緊跟的是Dept表的別名d.

 

3.在HQL中,關於Query介面綁定參數的方法,說法正確的是(ABCD )。

A.setParameter( )方法用於綁定任意類型的參數

B.setParameter( )有重載的方法

C.setProperties( )有重載的方法

D.setProperties( )方法用於綁定具名引數

 

 

4.在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表的主鍵名

 解析:<many-to-one>標籤中的column屬性值DEPTNO指的是emp表中的外鍵

 

5.在Hibernate對應檔中,關於inverse屬性說法正確的是( ACD)。

A.inverse屬性有兩個值:true、false

B.<many-to-one>標籤有inverse屬性

C.<set>標籤有inverse屬性

D.inverse屬性用於指定維護關聯關係的那一方

解析:<many-to-one>標籤不存在inverse屬性

 

6.在Hibernate對應檔中,關於<component>標籤說法正確的是( D)。

 A.<component>標籤用來映射組件類

 B.<component>標籤通過<parent>指定組件類所屬的整體類

 C.<component>標籤通過<property>指定組件類的屬性

 D.<component>標籤有id、name、class屬性

 解析:<component>標籤沒有id屬性

 7.在MyBatis中,ExecutorType的值包括(ABD )。

A.ExecutorType.SIMPLE

B.ExecutorType.BATCH

C.ExecutorType.EXECUTE

D.ExecutorType.REUSE

解析:

public final enum org.apache.ibatis.session.ExecutorType {

// Field descriptor #8 Lorg/apache/ibatis/session/ExecutorType;
public static final enum org.apache.ibatis.session.ExecutorType SIMPLE;

// Field descriptor #8 Lorg/apache/ibatis/session/ExecutorType;
public static final enum org.apache.ibatis.session.ExecutorType REUSE;

// Field descriptor #8 Lorg/apache/ibatis/session/ExecutorType;
public static final enum org.apache.ibatis.session.ExecutorType BATCH;

8.關於Hibernate緩衝說法錯誤的是( CD)。

A.Hibernate緩衝一般分為三類:一級緩衝、二級緩衝和查詢快取

B.Session的evict( )方法用於從緩衝中清除指定的持久化對象

C.Session的clear( )方法用於重新整理緩衝

D.Session的flush( )方法用於從緩衝中清除所有持久化對象

解析:Session的clear( )方法用於清空緩衝,Session的flush( )方法用於重新整理緩衝

 9.關於HQL的串連查詢,說法錯誤的是( D)。

 A.inner join 或 join用於內串連

 B.inner join fetch或 join fetch用於迫切內串連

 C.left outer join fetch 或 left join fetch用於迫切左外串連

 D.right outer join fetch 或 right join fetch用於迫切右外串連

 解析:串連查詢中無迫切右外串連

 10.關於Hibernate批量處理資料說法正確的是( CD)。

 A.使用HQL進行大量操作,Hibernate不支援批量插入

 B.使用JDBC API進行大量操作,SQL語句中涉及的資料會被載入到Session緩衝,佔用記憶體空間

 C.使用Session進行大量操作,資料會被載入到Session緩衝,需注意重新整理並清空緩衝

 D.使用Session進行大量操作,適用於需要通過代碼處理的複雜的商務邏輯情境

 解析:A、 hibernate支援批量插入。有三種方法:①通過HQL ②JDBC API ③Session

       B、使用JDBC API進行大量操作,SQL語句中涉及的資料不會被載入到Session緩衝,因此不會佔用記憶體空間,只有使用session進行大量操作時會進緩衝

 

 11.關於HQL子查詢中,說法錯誤的是(C )。

 A.size( )或size用於擷取集合中元素的數目

 B.elements( )擷取集合中的所有元用於素

 C.any關鍵字用於子查詢語句返回所有記錄

 D.in關鍵字與“=any”意思相同

 解析:any關鍵字用於子查詢語句返回任意一條記錄 

 12.關於原生SQL查詢和命名查詢,說法正確的是(ABC )。

 A.執行原生SQL,需使用SQLQuery對象

 B.SQLQuery是一個介面,繼承了Query介面

 C.Hibernate支援在對應檔中定義字串形式的查詢語句,這樣的語句是命名查詢語句

 D.命名查詢語句只能是HQL語句,不能是SQL語句

 解析:命名查詢語句分為HQL查詢語句和原生SQL查詢語句。HQL查詢語句使用<query>元素定義。原生SQL使用<sql-query>元素定義

 13.在Hibernate中,關於Criteria運算方法說法錯誤的是( CD)。

 A.Restrictions.ge( )方法等同於HQL運算子 >=

 B.Restrictions.like("empName","s",MatchMode.START)方法用於尋找姓名以s開頭的員工

 C.Restrictions.disjunction( )方法用於指定多個邏輯與

 D.Restrictions.in( )方法只能用於數組

解析:Restrictions.disjunction( )方法用於指定多個邏輯或。Restrictions.in( )方法能用於數組,也能返回Collection

 

14.在Hibernate中,關於註解說法正確的是( ABD)。

 

A.@Id用於聲明持久化類的唯一標識,對應於資料表中的主鍵

 

B.@Cloumn用於將屬性對應到列

 

C.@Transient用於忽略該屬性,需要持久化到資料庫

 

D.@GeneratedValue用於定義主索引值的建置原則

解析:@Transient用於忽略該屬性,不需要需要持久化到資料庫

 

 

03 Hibernate錯題分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.