-
Hibernate對JDBC進行了輕量級的對象封裝 其他主流的ORM框架:MyBaitsB(前身iBaits),EJB(重量級,使用較少),Toplink查看全部
-
juit4測試成功,秘訣--用的是建立的是java project,注意hibernate的版本。作者用的是4.2版本的,如果找不到可以直接用作者的資料下載包。查看全部
-
get load get不考慮緩存,在調用后立即向數據庫發出sql語句。返回持久化對象 查詢對象在數據庫中不存在時 返回是你null load方法會在調用后返回一個代理對象,該對象只保存了實體對象的id,直到調用對象非主鍵屬性時才會發出sql語句 查詢對象在數據庫中不存在時 返回是一個異常 第二個區別: 查詢數據庫中不存在的數據時,get方法返回null;load方法拋出異常org.hibernate.ObjectNotFoundException查看全部
-
組件屬性 就是用一類把幾個屬性封裝在一起用類的對象調用,在配置文件中 <component name="取的名字" class="類名"> <property name="類中屬性" columen="對應生成數據庫中列屬性名"> </cpt>查看全部
-
MySQL不支持標準SQL的CLOB類型,在Mysql中,用TEXT,MEDIUMTEXT及LONGTEXT類型來表示長度超過255的長文本數據查看全部
-
對象類型查看全部
-
時間類型查看全部
-
主鍵生成策略查看全部
-
hbm配置文件常用設置 3查看全部
-
hbm配置文件常用設置 2查看全部
-
hbm配置文件常用設置查看全部
-
openSession與getCurrentSession的區別: (1)getCurrentSession在事務提交或者回滾之后會自動關閉,而openSesssion需要你手動關閉。如果使用openSession而沒有手動關閉,多次之后會導致連接池溢出! (2)openSession每次創建新的session對象,getCurrentSession使用現有的session對象查看全部
-
如何獲得session對象??? (1)openSessionion (2)getCurrentSession 如果使用getCurrentSession需要在hibernate.cfg.xml文件中進行配置: 如果是本地事務(jdbc事務) <property name="hibernate.current_session_context_class">thread</property> 如果是全局事務(jta事務) <property name="hibernate.current_session_context_class">jta</property>查看全部
-
transaction 事務 hibrenate操作都是封裝在事物中,并且默認是非自動提交方式,所以session保存對象時,如果不開啟事物,并且手工提交事物,對象并不會真正保存在數據庫中 注意:不開啟事務就不能將對象保存到數據庫中 不推薦的自動提交方式?。?! session.doWork(new Work(){ @override public void execute(Connection connection) throw SQLException{ connection.setAutoCommit(true); } }); session.save(s); session.flush():輸出sql語句查看全部
-
1.不建議直接使用jdbc的connection操作數據庫,而是通過session操作數據庫。 2.session可以了解為操作數據庫的對象,操作數據庫之前必須先獲取session的實例 3.session與connection,是多對一關系,每個session都有一個與之對應的connection,一個connection不同時刻可以供多個session使用。 4.把對象保存到關系數據庫中需要調用session的各種方法:save(),update(),delete(),createQuery()查看全部
舉報
0/150
提交
取消