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的學習自今日開始,加油!

關聯標簽:
亚洲国产欧美图片,亚洲aⅴ在线av,日韩亚洲综合图片视频,日本av精品在线中文