使用 JPA/Eclipse TopLink。
我正在更新一个表(使用 createNativeQuery),如下所示:
Query query = em.createNativeQuery("UPDATE Products SET productName='" + p.getProductName() + "',productVendor='" + p.getProductVendor() + "',productDescription='" + p.getProductDescription() + "',quantityInStock=" + p.getQuantityInStock() + ",buyPrice =" + p.getBuyPrice() + ",msrp=" + p.getMsrp() + " WHERE productCode='" + p.getProductCode() + "'");
query.executeUpdate();
更新反映在数据库(MySQL)中
对于检索(使用 createQuery),如下所示:
Query query1 = em.createQuery("SELECT p from Products p where p.productCode='"+searchTerm+"'");
return query1.getResultList();
但是,返回的 ResultList 始终是更新前的数据。但是当我使用 createNativeQuery 而不是 createQuery 时,会返回最新更新的数据。createQuery 方法可能出现什么错误?