1. 程式人生 > >面試題:談談你對hibernate的理解

面試題:談談你對hibernate的理解

說說這類問題一般要和一個東西比較,說說他們的優點和缺點,hibernate就和JDBC比較唄,你就說說JDBC的優缺點,然後說說hibernate的優缺點,最後對比得出hibernate更好。

hibernate:

1、概念:ormapping    物件關係對映

1、操作資料庫的框架

底層是通過jdbc操作資料庫的

2、用面向物件的方式操作資料庫

2、jdbc的缺點

1、程式碼太繁瑣了

2、不是面向物件的資料庫操作

3、資源關閉的程式碼也很繁瑣,每次都得開啟、關閉

4、沒有做到資料快取

5、移植性比較差

優點:

因為是最低層的操作,所以效率比較高

3、hibernate

1、程式碼比較精簡了

2、是面向物件的資料庫操作

3、只需要關閉一個物件就可以了session

4、資料快取  一級快取  二級快取  查詢快取

5、移植性比較好

缺點:

1、程式設計師不能控制sql語句的生成

hibernate中有一個hql

2、如果一個專案對sql語句的優化要求特別高,不適合用hibernate

3、如果一張表的資料量特別大,不適合用hibernate

對於查詢資料庫的sql優化問題,這裡有一個面試題,給你一個學生student表,叫你用各種方式查詢出指定的學生資訊

這裡有五種方式得出指定學生2,3,4的資訊

--方式一
select *
from student
where id in(2,3,4)

--方式二
select *
from student
where id =2 or id=3 or id=4

--方式三
select *
from student
where id between 2 and 4

--方式四
select *
from student
where id>=2 and id<=4

--方式五
select *
from student
where id=2
union
select *
from student
where id=3
union
select *
from student
where id=4


相關推薦

試題談談hibernate理解

說說這類問題一般要和一個東西比較,說說他們的優點和缺點,hibernate就和JDBC比較唄,你就說說JDBC的優缺點,然後說說hibernate的優缺點,最後對比得出hibernate更好。 hibernate: 1、概念:ormapping    物件關係對映 1、操

試題談談vuex的理解

當面試官問我們對vuex的理解的時候,我們不能只說“vuex是一個專為vue.js應用程式開發的狀態管理模式”,儘量不要讓面試官連續追問(總會問到自己不會的然後說你實力還差那麼點來可以得降薪),應該從三個方面一次性去說清楚: 1.vuex是什麼? 2.為什麼要用vuex? 3.vuex的核心概念;

【Java 容器試題談談HashMap 的理解

  為了能夠在面試回答中優雅而不失體面回答面試考點,該文章借鑑了不同平臺對知識點的描述。 如有侵權請聯絡我 文章的不足和錯誤請指正,好的建議也不要吝嗇,我都會採納並更正 您的點贊是我持續更新的動力 我的回答 HashMap 是一種存取高效但不保證有序的常用容器。它的資料結構為“陣列+連

試題說說ZooKeeper集群與Leader選舉的理解

服務器 定義 浪費 新增 lead lean 介紹 調度 代碼片段 ZooKeeper是一個開源分布式協調服務、分布式數據一致性解決方案。可基於ZooKeeper實現命名服務、集群管理、Master選舉、分布式鎖等功能。 高可用 為了保證ZooKeeper的可用性,在生產環

JAVA試題談談Sychronized關鍵字的理解

面試官:sychronized關鍵字有哪些特性? 應聘者: 可以用來修飾方法; 可以用來修飾程式碼塊; 可以用來修飾靜態方法; 可以保證執行緒安全; 支援鎖的重入; sychronized使用不當導致死鎖;   瞭解sychr

試題談談程序的理解談談執行緒的理解?2.程序死鎖的原因?如何解決程序死鎖?

2.談談對程序的理解? 答:首先程序是指在系統中正在執行的一個應用程式;程式一旦執行就是程序,或者更專業化來說:程序是指程式執行時的一個例項,即它是程式已經執行到課中程度的資料結構的彙集。從核心的觀點看,程序的目的就是擔當分配系統資源(CPU時間、記憶體等)的基本單位,程序

談談Hibernate理解

其他 onf 數據庫 配置數據庫連接 hql 通過 成就 建立 span 答: 1. 面向對象設計的軟件內部運行過程可以理解成就是在不斷創建各種新對象、建立對象之間的關系,調用對象的方法來改變各個對象的狀態和對象消亡的過程,不管程序運行的過程和操作怎麽樣,本質上都是要得到一

面試談談大資料的理解

大資料概念:   大資料(big data):指無法在一定時間範圍內用常規軟體工具進行捕捉、管理和處理的資料集合,            是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的資訊資產。   主要解決:海量資料的儲存和海量資料的分析計算問題。 大資料的

面試談談大數據的理解

輸入輸出 value 計算 nbsp 駕駛 資產 增長率 音頻 個人 大數據概念:   大數據(big data):指無法在一定時間範圍內用常規軟件工具進行捕捉、管理和處理的數據集合,            是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海

Java 面試經典題解析談談 Java 平臺的理解

作者|楊曉峰出處|極客時間《Java技術核心 36講》專欄 從你接觸 Java開發到現在,你對 Java最直觀的印象是什麼呢?是它宣傳的 “Compile once, run anywhere”,還是目前看已經有些過於形式主義的語法呢?你對於 Java平臺到底瞭解到什麼程度

清晰解題 談談 HashMap, ConcurrentHashMap 的理解

參考文章: JAVA 面試的暖場題 Java 開發中用的比較多的資料結構是有哪些? 如果答案中包含了 HashMap, 那很自然地引到下一個問題 談談你對 HashMap 的理解, 底層的基本實現。 HashMap 是計算機資料結構雜湊表 ( hash

Web前端面試指導(三十一)談談this的理解

題目點評 主要考察你對面向物件程式設計的理解,特別是物件的指向問題,如果連物件的指向都搞不清楚,很難說明你是一個優秀的前端開發人員,所以回答this的知識點是體現你的身價的時候到來了!如果能夠回答好這個問題,那麼在面試上你是增值的。個人建議,可以先回答this在不同的場合指

談談Hibernate理解

答: 1. 面向物件設計的軟體內部執行過程可以理解成就是在不斷建立各種新物件、建立物件之間的關係,呼叫物件的方法來改變各個物件的狀態和物件消亡的過程,不管程式執行的過程和操作怎麼樣,本質上都是要得到一個結果,程式上一個時刻和下一個時刻的執行結果的差異就表現在記憶體中的物件

試題字串單詞換,字串排序

    //字串單詞對換 $str = "str_arr"; echo $str."\n"; $arr = explode("_",$str); print_r($arr); $st

談談hibernate的看法和了解

1,Hibernate是一個開放原始碼的物件關係對映(ORM)框架,它對JDBC進行了非常輕量級的物件封裝,使得程式設計師可以按照面向物件的思想來操控資料庫中的資料 2.hibernate的核心介面有Configuration、SessionFactory 、Session

試題增強一個象的方法的三種方式

解決 oct rip owa 返回值 dex tty unit web項目 面試題:增強一個對象的方法的三種方式 1. 繼承 使用這種方式必須滿足的條件是:被增強的方法的所在類能被繼承,並且這個對象已經明確知道。 舉例: 有一個接口Person,裏面有一個方法run()

試題談談spring的理解

1、spring為什麼出現。            spring的出現是為了解耦,我們在學習java初期,相信很多小夥伴都使用的是JSP+Servlet+MySQL+JDBC技術,在

【轉載】試題能不能談談,java GC是在什麼時候,什麼東西,做了什麼事情?”

面試題目:  地球人都知道,Java有個東西叫垃圾收集器,它讓建立的物件不需要像c/cpp那樣delete、free掉,你能不能談談: GC是在什麼時候,對什麼東西,做了什麼事情?   以上算是三個問題,下面逐一分析: 問題一回答:什麼時候? 1.系統空閒的時候。

試題(一)- 談談資料庫中索引的理解

轉載自《http://www.cnblogs.com/newpanderking/p/3781043.html》 1、首先要明白無名無實莫要用索引:因為資料中的記錄很多,為了方便我們查詢,提高查詢的效率; 2、索引的原理:對要查詢的欄位建立索引其實就是把該欄位按照一定的

試題能不能談談,java GC是在什麼時候,什麼東西,做了什麼事情?”

地球人都知道,Java有個東西叫垃圾收集器,它讓建立的物件不需要像c/cpp那樣delete、free掉,你能不能談談,GC是在什麼時候,對什麼東西,做了什麼事情?一.回答:什麼時候?1.系統空閒的時候。    分析:這種回答大約佔30%,遇到的話一般我就會準備轉向別的話題,譬如演算法、譬如SSH看看能否發掘