hibernate學習筆記
小編:管理員 489閱讀 2022.09.14
Configuration?configuration?=?new?Configuration().configure(); ?? ??ServiceRegistry?serviceRegistry?=?new?StandardServiceRegistryBuilder().configure().build(); ??SessionFactory?sessionFactory?=?new?MetadataSources(?serviceRegistry?).buildMetadata().buildSessionFactory(); ?? //??StandardServiceRegistryBuilder?registryBuilder?=?new?StandardServiceRegistryBuilder() //????.applySettings(configuration.getProperties()); // //??StandardServiceRegistry?registry?=?registryBuilder.build(); // //??sessionFactory?=?configuration.buildSessionFactory(registry); ?? ??session?=?sessionFactory.openSession(); ??transaction?=?session.beginTransaction();復制
1. 加載hibernate配置文件
2. 獲取 SessionFactory
3. 獲取 Session
其中在獲取 SessionFactory 時按照示例程序的代碼(注釋區域)行不通,在 Stack Overflow 找到了解決辦法,最終實現了。

tip:
User?yawn?=?new?User("yawn",?"liu1234"); ????User?yawn2?=?yawn; ???? ????session.save(yawn); ????session.save(yawn2);復制
最終保存的結果只有一條記錄,yawn 和 yawn2 屬于同一實例的不同引用,所以只對應數據庫中一個元組。
User?yawn?=?new?User("yawn",?"liu1234"); ??session.save(yawn); ?? ??yawn?=?new?User("yawn2",?"liu1234"); ??session.save(yawn);復制
保存結果又兩條記錄,兩次yawn 分別是不同對象的引用。
User?yawn?=?new?User("yawn",?"liu1234"); ??session.save(yawn); ?? ??yawn.setName("yawn2"); ??yawn.setPwd("1234yawn"); ??session.save(yawn);復制
保存結果只有一條記錄。
hibernate的學習自今日開始,加油!
相關推薦
- 經典筆試題-JDBC及Hibernate篇 五、JDBC 及Hibernate:(共12 題:基礎10 道,中等難度2 道)110、數據庫,比如100 用戶同時來訪,要采取什么技術解決?【基礎】 答:可采用連接池。111、什么是ORM?【基礎】 答:對象關系映射(Object—Relational Mapping,簡稱ORM)是一種為了解決面向對象…
- Hibernate Criterion 在查詢方法設計上能夠靈活的依據Criteria的特點來方便地進行查詢條件的組裝.Hibernate設計了CriteriaSpecification作為Criteria的父接口,以下提供了Criteria和DetachedCriteria.Criteria和DetachedCriteria的主要差別在于創建的形式不一樣,Criteria是在線的,所…