안녕하세요 저는 Sprig Data JPA을 처음 접했습니다. ID를 엔티티에 전달하더라도 스프링 데이터 jpa가 병합 대신 삽입됩니다.스프링 데이터 JPA 업데이트 대신 삽입
public Long getId();
public Boolean isNew();
그것은 자동으로 대신 지속의 병합합니다 : 본인은 또한 지속 인터페이스를 구현하고 두 가지 방법을 구현할 때 생각했다.
내가 좋아하는 엔티티 클래스라는 사용자가 :
@Entity
@Table(name = "T_USER")
public class User implements Serializable, Persistable<Long> {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "USER_ID")
private Long id;
@Column(name = "CREATION_TIME", nullable = false)
private Date creationTime;
@Column(name = "FIRST_NAME", nullable = false)
private String firstName;
@Column(name = "LAST_NAME", nullable = false)
private String lastName;
@Column(name = "MODIFICATION_TIME", nullable = false)
private Date modificationTime;
을 내가 UserRepostory 확장 JpaReopistory라는 사용자 지정 저장소가 다른 클래스
@Entity
@Table(name = "T_USER_ROLE")
public class UserRole implements Serializable, Persistable<Long> {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long roleId;
@Column(name = "ROLE_NAME")
private String userRole;
}
있습니다. 나는 Spring Data Jpa가 위의 두 가지 방법 중 하나를 사용하여 업데이트하거나 삽입한다는 것을 보여주기 때문에 병합을 위해 저장을 기다리고 있습니다.
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
나는 알아 내려고했지만 아무런 단서도 얻지 못했습니다. 어쩌면 당신 남자들이 도울 수 있습니다.
지속성 인터페이스를 구현할 필요가 없습니다. 상속 된'save'를 사용하면 스프링 데이터가 그것을 처리 할 것입니다. –