JPA和Spring数据存储库是如何关联的? 例如,让我们考虑Spring Data < Stord>RudRealStkySaveAuvior(>。它基于JPA em.persist()和em.merge()。 对新实体使用save(),我们使用persist()。此操作实体在JPA中变得管理/持久化后。JPA必须跟踪此实体,并在实体更改时在数据库中自动更新它。 但使用spring数据时,我们必须“手动”使用CRUDepository#save()将实体实例的更改写入数据库

JPA和Spring数据存储库是如何关联的? 例如,让我们考虑Spring Data < Stord>RudRealStkySaveAuvior(>。它基于JPA em.persist()和em.merge()。 对新实体使用save(),我们使用persist()。此操作实体在JPA中变得管理/持久化后。JPA必须跟踪此实体,并在实体更改时在数据库中自动更新它。 但使用spring数据时,我们必须“手动”使用CRUDepository#save()将实体实例的更改写入数据库,spring,hibernate,jpa,spring-data-jpa,spring-data,Spring,Hibernate,Jpa,Spring Data Jpa,Spring Data,JPA自动更新(当实体被管理时)和Spring数据存储库“手动”更新(save())是如何关联的(实际上和概念上)?调用save后,它被管理,您不必手动调用save。适用于JPA的内容在使用Spring数据时仍然适用(JPA.1),但如果不希望实体由JPA管理-我不能使用Crudepository#save()?2)如果我们可以调用em.persist(),然后只使用entity.setFieldname(…)?3)Spring数据是JPA的高级抽象,那么存储库的用途是什么。Spring数据的主

JPA自动更新(当实体被管理时)和Spring数据存储库“手动”更新(save())是如何关联的(实际上和概念上)?

调用save后,它被管理,您不必手动调用
save
。适用于JPA的内容在使用Spring数据时仍然适用(JPA.1),但如果不希望实体由JPA管理-我不能使用Crudepository#save()?2)如果我们可以调用em.persist(),然后只使用entity.setFieldname(…)?3)Spring数据是JPA的高级抽象,那么存储库的用途是什么。Spring数据的主要目标必须是封装JPA。但是我们必须知道SpringData+JPA,因为JPA没有封装,JPA可以绕过Spring数据存储库进行更新查询。为什么这么复杂?这不是伊姆霍的同谋。Spring数据使编写查询和映射结果变得更容易。因此,您不必使用低级API,而是让Spring数据来实现这一点。