[SPRING] CRUDRespository의 업데이트 또는 SaveUpdate, 사용 가능한 옵션이 있습니까?
SPRINGCRUDRespository의 업데이트 또는 SaveUpdate, 사용 가능한 옵션이 있습니까?
My Entity Bean을 사용하여 CRUD 작업을 수행하려고합니다. CRUDRepository는 찾기, 삭제, 저장하는 표준 메소드를 제공하지만 saveOrUpdate (엔티티 엔티티)가 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")
그러나 이것은 일반적인 것이 아니며 완전한 양식 필드를 작성해야합니다. 어떤 방법이 있다면 알려주거나이 문제를 해결하기 위해 Hibernate 또는 Spring HibernateTemplate의 객체를 얻을 수 있습니다.
해결법
-
==============================
1.이 방법의 구현
이 방법의 구현
S save (S 엔티티)인터페이스에서
CrudRepository
리포지터리 (repository) 를 확장합니다. 원하는 것을 자동으로 수행합니다. 엔티티가 새로운 경우 엔티티 관리자에서 persist를 호출합니다. 그렇지 않으면 병합을 호출합니다
코드는 다음과 같습니다.
public <S extends T> S save(S entity) { if (entityInformation.isNew(entity)) { em.persist(entity); return entity; } else { return em.merge(entity); } }
여기에서 찾을 수 있습니다. SimpleJpaRepository는 Spring Data JPA에서 CrudRepository를 자동으로 구현하는 클래스이다.
따라서 사용자 정의 saveOrUpdate () 메소드를 제공 할 필요가 없습니다. Spring Data JPA에서 다뤘습니다.
-
==============================
2.솔루션을 얻었습니다. 솔루션은 양식 빈을 엔터티로 변환하는 데 @ModelAttribute를 사용합니다.
솔루션을 얻었습니다. 솔루션은 양식 빈을 엔터티로 변환하는 데 @ModelAttribute를 사용합니다.
@ModelAttribute("spaceSummary") public SpaceSummary getSpaceSummary(int id){ return this.spaceSummaryService.getSpaceSummary(id); }
과
@RequestMapping(value="/mgr/editSpace", method = RequestMethod.POST) public ModelAndView editSpace(@ModelAttribute("spaceSummary") SpaceSummary spaceSummary, BindingResult result, RedirectAttributes redirect, ModelAndView model) { }
from https://stackoverflow.com/questions/24420572/update-or-saveorupdate-in-crudrespository-is-there-any-options-available by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Tomcat 5.5에서 web-app를 배포 할 때 listenerStart 오류를 해결하는 방법은 무엇입니까? (0) | 2019.01.11 |
---|---|
[SPRING] 메소드에서 Spring @ Transactional 어노테이션에 대한 설명 (0) | 2019.01.11 |
[SPRING] Spring 데이터 나머지 - 여러 속성별로 정렬 (0) | 2019.01.11 |
[SPRING] 스프링 부트가 일괄 작업을 실행하는 방법 (0) | 2019.01.11 |
[SPRING] Spring 보안은 보안 주석 구성에서 url 패턴을 제외합니다. (0) | 2019.01.11 |