我试图用query更新数据库中的一行,但我不知道为什么它不起作用。
我用这个方法:
@Override
public void updateImage(String avatar, int employeeId) {
Session session = HibernateUtil.getSessionFactory().openSession();
try {
Transaction transaction = null;
Query query = session.createQuery("UPDATE vt_employee SET emp_avatar=? WHERE id_employee=?");
query.setString(0, avatar);
query.setInteger(1, employeeId);
transaction = session.beginTransaction();
query.executeUpdate();
transaction.commit();
} catch (Exception e) {
e.getStackTrace();
} finally {
session.clear();
}
}
我的值avatar和employeeid当然不是null或空的,我通过控制台中的display检查了它。我在db中的表是vt\u employee,存在emp\u avatar和id\u employee等字段。我检查了问题所在的位置,问题在createquery中,如果我尝试在session.createquery之前显示参数,那么它们会显示在控制台中,但在这一行之后就不会了。
有人能帮忙解决这个问题吗?
1条答案
按热度按时间t0ybt7op1#
你能试试这个吗。