Hibernate4更新不起作用-LocalSessionFactoryBean

时间:2019-03-04 07:55:44

标签: java hibernate

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正在执行,而更新查询未在执行。 知道为什么吗?

2 个答案:

答案 0 :(得分:0)

如果您使用的是Spring框架,请检查您是否已应用@transactional。否则,请告诉您使用的是哪个框架的完整说明。只需检查您的配置是否正确?

答案 1 :(得分:0)

可能是Hibernate或Spring事务性配置问题。可能更改已在内存中进行,但尚未移至数据库。

要强制执行此操作,您可以使用

hibernateTemplate.flush();

但是我的建议是您要进行系统配置。该解决方案是一个补丁。