以下に示すように、Hibernate を使用してデータを挿入し、同じセッションでデータを取得しています。
StudentBean st1 = new StudentBean();
st1.setSid(513);
st1.setSname("Ravi)");
st1.setTotMarks(0.0f);
Session sess = factory.openSession();
sess.persist(st1);
StudentBean st2 = (StudentBean) sess.get(StudentBean.class, 510);
System.out.println(st2.getSname());
ハイバネート構成ファイルで show_sql true を使用した場合、この行を使用すると、出力は次のようになります。
クエリを選択
Hibernate: select studentbea0_.sid1 as sid1_0_0_, studentbea0_.sname1 as sname2_0_0_, studentbea0_.tot_m1 as tot3_0_0_ from student1 studentbea0_ where studentbea0_.sid1=?
クエリを挿入
insert into student1 (sname1, tot_m1, sid1) values (?, ?, ?)
Session.persist が get メソッドの上にあるにもかかわらず、挿入操作が Hibernate Engine によって最後に実行される理由を誰か教えてください。