Hibernate Second level cache について学び始めました。
Hibernate のセカンド レベル キャッシュを理解するために、次のサンプル コードを試してみました。
Session session = sessionFactory.openSession();
session.beginTransaction();
UserDetails u1 = (UserDetails) session.get(UserDetails.class,1);
session.getTransaction().commit();
session.close();
Session session2=sessionFactory.openSession();
session2.beginTransaction();
UserDetails u2 = (UserDetails) session2.get(UserDetails.class, 1);
session2.getTransaction().commit();
System.out.println(u1==u2);
session2.close();
2 つの異なるセッションで同じ UserDetails オブジェクト (ID として「1」) を読み取っています。二次キャッシュを有効にしたのと同じオブジェクトを返す必要があります。
しかし、両方のオブジェクトを比較すると、「false」が表示されます。
休止状態の二次キャッシュが内部でどのように機能するか教えてもらえますか?