3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
想拿高工資,面試中不單遇到的Java基礎問題了吧?框架問題也設計到了吧?哈哈哈,前沿教育小編又來發福利了,框架常見的幾個問題都在這裡了。hibernate 面試題示例 1 : 什麼是HIBERNATE 是一種輕量級的ORM的實現,是對JDBC的一種封裝。 ORM是意思是 對象與關係資料庫之間的映射 Object Relation Database Mapping. 示例 2 : POJO是什麼 POJO的全稱是plain old java object 相當於JAVA BEAN,又叫做實體類 entity bean 示例 3 : HIBERNATE 開發流程 一個包含如下這些步驟 1. 配置Hibernate.cfg.xml 裡面包含資料庫連接信息,哪些HBM,是否使用2級緩存,是否顯示SQL,方言等等 2. 配置 hbm 文件 大概是哪個類對應哪張表,屬性對應什麼欄位,各種關係映射,比如ONE-MANY,MANY-ONE,MANY-MANY 3.使用HIBNERATE 通過Configuration拿到SessionFactory, 接著拿到Session,然後進行一系列資料庫相關的業務操作 示例 4 : one-many怎麼配置 以Category和Product的一對多為舉例 1. Category中要有一個set的products 2. 在Category.hbm.xml中要有一對多映射 <set name="products" lazy="false"> <key column="cid" not-null="false" /> <one-to-many /> </set> 示例 5 : many-one怎麼配置 還是以Product和Category為例 1. Product中要有一個category屬性 2. 在Product.hbm.xml中 進行many-to-one配置 <many-to-one name="category" column="cid" /> 示例 6 : many-many 怎麼配置 以User和Product為例子 1. User中有products屬性 2. Product中有users屬性 3. 使用如下進行配置 <set name="products" table="user_product" lazy="false"> <key column="uid" /> <many-to-many column="pid" /></set> 示例 7 : get與load的區別 通過id獲取Product對象有兩種方式,分別是get和load 他們的區別分別在於 1. 延遲載入 2. 對於id不存在的時候的處理 示例 8 : 常見查詢3種方式 這三種分別是和 示例 9 : 三種狀態 實體類對象在Hibernate中有3種狀態 分別是瞬時,持久和脫管 瞬時 指的是沒有和hibernate發生任何關係,在資料庫中也沒有對應的記錄,一旦JVM結束,這個對象也就消失了 持久 指得是一個對象和hibernate發生聯繫,有對應的session,並且在資料庫中有對應的一條記錄 脫管 指的是一個對象雖然在資料庫中有對應的一條記錄,但是它所對應的session已經關閉了 示例 10 : openSession與getCurrentSession的區別 Hibetnate有兩種方式獲得session,分別是: OpenSession和getCurrentSession 他們的區別在於 1. 獲取的是否是同一個session對象 OpenSession每次都會得到一個新的Session對象 getCurrentSession在同一個線程中,每次都是獲取想同的Session對象,但是在不同的線程中獲取的是不同的Session對象 2. 事務提交的必要性 openSession只有在增加,刪除,修改的時候需要事務,查詢時不需要的 getCurrentSession是所有操作都必須放在事務中進行,並且提交事務后,session就自動關閉,不能夠再進行關閉 示例 11 : 1級緩存 hibernate默認是開啟一級緩存的,一級緩存存放在session上 示例 12 : 2級緩存如何配置 Hibernate的一級緩存是在Session上,二級緩存是在SessionFactory上 配置方式: 要在hibernate.cfg.xml中開啟 <property name="hibernate.cache.use_second_level_cache">true</property><property name="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</property>

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦