Kul*_*sad 40 spring spring-boot
我正在尝试使用My Entity bean进行CRUD操作.CRUDRepository提供标准的方法find,delete而save但它有没有像一般的方法saveOrUpdate(Entity entity)是依次呼叫Hibernate或HibernateTemplate会话saveorUpdate()的方法.
CRUDRepository提供此功能的方式就是这样使用
@Modifying
@Query("UPDATE Space c SET c.owner = :name WHERE c.id = :id")
Integer setNameForId(@Param("name") String name, @Param("id")
Run Code Online (Sandbox Code Playgroud)
但这不是通用的,需要为完整的表单字段编写.如果有任何方法或者我可以获得Hibernate的会话或Spring HibernateTemplate的对象来解决这个问题,请告诉我.
geo*_*and 101
该方法的实现
<S extends T> S save(S entity)
来自界面
CrudRepository<T, ID extends Serializable> extends Repository<T, ID>
自动做你想要的.如果实体是新的,它会调用persist的entity manager,否则它会调用merge
代码如下所示:
public <S extends T> S save(S entity) {
if (entityInformation.isNew(entity)) {
em.persist(entity);
return entity;
} else {
return em.merge(entity);
}
}
Run Code Online (Sandbox Code Playgroud)
并且可以在这里找到.请注意,这SimpleJpaRepository是CrudRepository在Spring Data JPA 中自动实现的类.
因此,不需要提供自定义saveOrUpdate()方法.Spring Data JPA为您提供帮助.
| 归档时间: |
|
| 查看次数: |
83862 次 |
| 最近记录: |