Employee employee = hibernateTemplate.get(Employee.class, employeeId);
System.out.println(employee.getEmployeeId() + "\t" + employee.getEmployeeName());
employee.setEmailString(newEmail);
hibernateTemplate.update(employee);
休眠:
select
employee0_.employee_id as employee1_0_0_,
employee0_.email as email2_0_0_,
employee0_.employee_name as employee3_0_0_,
employee0_.gender as gender4_0_0_,
employee0_.salary as salary5_0_0_
from
employee_details employee0_
where
employee0_.employee_id=?
仅get
正在执行,而更新查询未在执行。
知道为什么吗?
答案 0 :(得分:0)
如果您使用的是Spring框架,请检查您是否已应用@transactional。否则,请告诉您使用的是哪个框架的完整说明。只需检查您的配置是否正确?
答案 1 :(得分:0)
可能是Hibernate或Spring事务性配置问题。可能更改已在内存中进行,但尚未移至数据库。
要强制执行此操作,您可以使用
hibernateTemplate.flush();
但是我的建议是您要进行系统配置。该解决方案是一个补丁。