国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

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

瀏覽:143日期:2023-12-23 17:00:50

問題描述

今天面試問到了這個問題,他的意思是讓剖析源碼嗎??突然感覺到好奇怪,,ORM框架,不就是這樣的嗎??求大神解釋。謝了

問題解答

回答1:

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

持久化

反序列化

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

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

回答2:

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

回答3:

一般面試官問到JDBC就到底了吧,所以@泊浮目 所說的反序列化我覺得不是面試官的意思。用原生的JDBC執行SQL可以拿到ResultSet對象,框架不過是從里面取一個個字段值,然后封裝到一個對象中而已。我的理解就是這樣,也確實沒看過這種ORM的源碼,雖然我用Mybatis比較順手。

回答4:

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

回答5:

這么巧,你發問題十六個小時后我面試被問到了同樣的問題.我的回答基本和@邢愛明在本問題的回答一致.但是看反應,感覺并不是面試官想要的.個人覺得這種問題挺奇葩的.主要get不到其具體想考核哪方面的東西.

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

標簽: java
相關文章:
主站蜘蛛池模板: 灵宝市| 桃园县| 汉沽区| 布尔津县| 凤台县| 中方县| 青河县| 九寨沟县| 分宜县| 黄山市| 北碚区| 探索| 原平市| 松桃| 云阳县| 沁源县| 武乡县| 平南县| 内乡县| 澄迈县| 肥东县| 甘德县| 廉江市| 青龙| 祁东县| 巴南区| 白沙| 温泉县| 田东县| 开封市| 修水县| 五河县| 广平县| 淄博市| 盘锦市| 凤翔县| 前郭尔| 兖州市| 安西县| 兰西县| 洛浦县|