Hibernate不打印'select'SQL语句

时间:2011-09-10 04:44:17

标签: sql hibernate select insert

我在下面提供了一个简单的代码片段以及必要的hibernate配置。 问题是正在打印所有'insert'语句,但不打印'select'语句。

Session sess = session.openSession();
Transaction tx = sess.beginTransaction();
Address addr = new Address();
addr.setStreet("street");
Employee pojo = new Employee();
pojo.setName("XYZ");
pojo.setAddress(addr);
System.out.println("ID " + pojo.getId());
sess.saveOrUpdate(pojo);
tx.commit();
session.close()

上面的代码在标准输出中打印'insert'语句

Session sess = session.openSession();
Transaction tx = sess.beginTransaction();
Employee pojo = (Employee) sess.get(Employee.class, 1);
System.out.println(pojo.getName());
System.out.println(pojo.getAddress().getStreet());
tx.commit();
session.close();

上面的代码不会打印'select'语句。我尝试使用load()而不是get(),但结果是一样的。

此配置在休眠配置中可用。

<property name="show_sql">true</property>

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果启用了二级缓存,则不会执行选择,而是从缓存中获取值。尝试读取已存在于DB中的数据,而不是刚刚插入的数据。我假设您先插入然后立即读取。