亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數據庫一條記錄為什么經過hibernate查詢變成一個對象了呢??

數據庫一條記錄為什么經過hibernate查詢變成一個對象了呢??

翻閱古今 2019-03-01 11:10:57
今天面試問到了這個問題,他的意思是讓剖析源碼嗎??突然感覺到好奇怪,,ORM框架,不就是這樣的嗎??求大神解釋。謝了
查看完整描述

5 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

這個和反序列化沒什么關系吧。
原始JDBC查詢出的是ResultSet,Hibernate通過xml配置或Anotation知道了ResultSet中字段和對象屬性的對應關系,然后通過反射的機制生成POJO對象。

查看完整回答
反對 回復 2019-03-01
?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

之前早上出門答得太急了,現在來細說一下,這里可以提到兩點:

  • 持久化

  • 反序列化

那么持久化樓下各位都提到了,即將一個對象保存到存儲系統中。在你說到的情況下,是保存到數據庫。那么一般是將各個屬性作為字段,然后保存其中的值成為一條記錄。

然后是反序列化。跟數據庫建立連接的是通過socket的,那么毫無疑問是走了網絡,你在網絡中需要傳輸一個對象就得對其進行序列化。也就是說:在通過數據庫鏈接拿到 ResultSet 的時候就已經完成了反序列化過程。

查看完整回答
反對 回復 2019-03-01
?
SMILET

TA貢獻1796條經驗 獲得超4個贊

所以先常常sql, 看用下原始的jdbc , 你就知道為什么會有這框架了

查看完整回答
反對 回復 2019-03-01
?
慕森卡

TA貢獻1806條經驗 獲得超8個贊

用原生的JDBC執行SQL可以拿到ResultSet對象,框架不過是從里面取一個個字段值,然后封裝到一個對象中而已。我的理解就是這樣,也確實沒看過這種ORM的源碼,雖然我用Mybatis比較順手。

查看完整回答
反對 回復 2019-03-01
?
慕雪6442864

TA貢獻1812條經驗 獲得超5個贊

個人覺得這種問題挺奇葩的.主要get不到其具體想考核哪方面的東西.

還有一個問題,我確認了幾遍確定沒聽錯,但是到現在也沒弄懂問的是什么..
jquery ${}和#{}有什么區別,注意是大括號..

查看完整回答
反對 回復 2019-03-01
  • 5 回答
  • 0 關注
  • 705 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號