복붙노트

[SPRING] onSave () (Hibernate / Spring 데이터 저장소와 함께 저장된 엔티티)

SPRING

onSave () (Hibernate / Spring 데이터 저장소와 함께 저장된 엔티티)

내 엔터티 계산 필드가 데이터베이스에 저장하기 전에 업데이트되어야하는 경우 (db 삽입 또는 업데이트) Hibernate 나 Spring Data Repository 전에 메소드 호출을 연결하려면 어떻게해야합니까? save ()

해결법

  1. ==============================

    1.가장 좋은 옵션은 @PrePersist 및 @PreUpdate 주석을 사용하는 EntityListener이며 엔티티 수신기의 구성을 만들고 저장하려는 각 인스턴스에 대한 액세스 권한을 얻습니다.이 메서드는 시도 할 때마다 호출됩니다. 최대 절전 또는 스프링 데이터 저장소로 무언가를 유지 또는 업데이트

    가장 좋은 옵션은 @PrePersist 및 @PreUpdate 주석을 사용하는 EntityListener이며 엔티티 수신기의 구성을 만들고 저장하려는 각 인스턴스에 대한 액세스 권한을 얻습니다.이 메서드는 시도 할 때마다 호출됩니다. 최대 절전 또는 스프링 데이터 저장소로 무언가를 유지 또는 업데이트

    public class EntityToPersistListener{
    
       @PrePersist
       @PreUpdate
       public void methodExecuteBeforeSave(final EntityToPersist reference) {
          //Make any change to the entity such as calculation before the save process
          reference.setAmount(xxxx)
        }
    
    }
    

    엔티티 빈 위에 주석을 추가하기 만하면됩니다.

    @Entity
    @Table(name = "", schema = "", catalog = "")
    @EntityListeners(EntityToPersistListener.class)
    public class EntityToPersist implements Serializable {
    

    자세한 내용은이 링크를 확인하십시오.

  2. from https://stackoverflow.com/questions/37863178/onsave-for-any-entity-saved-with-hibernate-spring-data-repositories by cc-by-sa and MIT license