Hibernate通过非主键获取实体并更新它+ Spring MVC - java

当我使用其ID检索对象并更改其属性并更新它时,一切正常,但是当我使用其名称+版本获取对象并更新它们时,所有更改都不会保存在数据库中。您能不能让别人让我知道是什么问题?

//通过id获取

public PdfDocument get(Long id) {
    return (PdfDocument) session().get(PdfDocument.class, id);
}

//通过名称+版本获取

public PdfDocument get(String name, int version) {
    Criteria criteria = session().createCriteria(PdfDocument.class);
    criteria.add(Restrictions.eq("name", name));
    criteria.add(Restrictions.eq("version", version));
    return ((PdfDocument) criteria.uniqueResult()) ;
}

//更新

public void update(PdfDocument PdfDocument) {
    session().saveOrUpdate(PdfDocument);
}

参考方案

可能是返回的实体与您期望的实体不同的条件。检查返回的实体的ID和预期的ID。

Spring MVC:如何获取请求的处理程序方法 - java

我正在尝试根据Spring @RequestMapping注释方法上存在的注释实现一些逻辑。因此,我的方法中有一个HttpServletRequest实例,我想问一下spring“给我一个方法,该方法将被调用以处理此请求”,因此我可以使用反射API来询问是否存在我的注释,因此我可以更改处理。有什么简单的方法可以从Spring MVC获取此信息? java大神…

运行项目后无法在IntelliJ中打开静态页面(Spring MVC) - java

首先,我可以像这样通过intellij按钮查看htmlenter image description here然后当我单击按钮intellij显示浏览器错误enter image description here然后我运行tomcat,然后单击浏览器按钮enter image description here我是一个初学者,我不知道为什么会发生 参考方案 您…

在Java中,执行“ ++++++++”表达式,编译器未报告任何错误并且可以正确执行? - java

我用eclipse编写了这段代码,用war写过,结果为3d。public static void main(String[] args) { double a = 5d + + + + + +-+3d; System.out.println(a); } 参考方案 您的表情可以改写为(5d) + (+ + + + +-+3d) 其中第一个+是应用于两个操作数的…

Spring MVC-休息控制器响应类型为空时自动返回204 - java

我试图让当控制器方法响应类型为void时spring自动返回HTTP Status 204。例如:假设我有一个像这样的控制器方法:@DeleteMapping(value = "/{heroId}") public void delete(@PathVariable Long heroId) { heroService.delete(he…

Spring MVC Controller测试,并模拟许多类 - java

我们的系统中有许多Controller,还有许多Spring Data存储库。我想为通过我的MVC上下文运行的控制器编写测试。但是,必须手动模拟系统中的每个服务和存储库似乎很麻烦,而且不合适,因此我可以测试控制器例如FooControllerTest.java@RunWith(SpringJUnit4ClassRunner.class) @WebAppCon…