-
ORM:對象/關系映射 經常把對象信息保存在關系型數據庫中,需要寫很多SQL語句,與面向對象思想不符查看全部
-
訪問數據庫初始化代碼查看全部
-
@get和load區別:<br> 1、get不考慮緩存,在調用后立即向數據庫發出sql語句。返回持久化對象。(持久化對象:本身)<br> 查詢對象在數據庫中不存在時,返回是你null。<br> 2、load方法會在調用后返回一個代理對象,該對象只保存了尸體對象的id,直到調用對象非主鍵屬性時才會發出sql語句。(代理對象:替代品)<br> 查詢對象在數據庫中不存在時,返回是一個異常。<br> <br> Ps:可以單獨測試一個類中的一個方法。它不會執行其他的@Test。但是會執行@Before和@After。 在hibernate.cfg.xml配置文檔中加入兩行 <property name="connection.useUnicode">true</property> <property name="connection.characterEncoding">UTF-8</property> 這樣在數據表中就可以顯示中文了查看全部
-
單表get與load的區別查看全部
-
對象類型查看全部
-
屬性的基本類型查看全部
-
主鍵生成策略查看全部
-
hibernate-mapping的屬性設置查看全部
-
openSession與getCurrentSession的區別<br> 1.getCurrentSession使用了到了單例模式使用現有的對象,雖然每一次運行都不一樣,但同一個方法當中獲取的session是一樣的,無需手動關閉,并且,在openSession之前就可獲取,可見,Hibernate早早地準備好了session對象<br> 2.openSession每次創建新的session對象,必須要手動關閉,否則時間一長會照常連接池溢出<br>查看全部
-
openSession 每次使用都是打開一個新的session,使用完需要調用close方法關閉session; getCurrentSession 是獲取當前session對象,連續使用多次時,得到的session都是同一個對象,這就是與openSession的區別之一 ; 一般在實際開發中,往往使用getCurrentSession多,因為一般是處理同一個事務,所以在一般情況下比較少使用openSession;查看全部
-
如何獲取session對象查看全部
-
transaction簡介: 1.Hibernate推薦使用手工開啟,提交事物的方式 a.transaction=session.beginTransaction(); b.transaction.commit(); 2.如果使用自動提交的方式,需要調用doWork()方法,并且要求刷新session.flush(); a. session.doWork(new Work() { @Override public void execute(Connection connection) throws SQLException { // TODO Auto-generated method stub connection.setAutoCommit(true); } });查看全部
-
hibernate執行流程 configuration:讀取配置文檔 sessionFactory:對象關系映射文件 session:操作數據庫的對象,類似于JDBC中的connection session的方法:save,delete,update,createQuery() Transaction:commit session和connection:多對一關系,一個connection服務多個session,每個session都有與之對應的connection 1.不建議直接使用jdbc的connection操作數據庫,而是通過session操作數據庫。 2.session可以了解為操作數據庫的對象,操作數據庫之前必須先獲取session的實例 3.session與connection,是多對一關系,每個session都有一個與之對應的connection,一個connection不同時刻可以供多個session使用。 4.把對象保存到關系數據庫中需要調用session的各種方法:save(),update(),delete(),createQuery查看全部
-
hibernate.cfg.xml常用配置查看全部
-
基本類型表查看全部
舉報
0/150
提交
取消