Привет, я новичок в Sprig Data JPA, и мне интересно, хотя я передаю идентификатор сущности, данные jda Spring вставляют вместо слияния. Я думал, когда я реализую интерфейс Persistable и реализую два метода:
public Long getId();
public Boolean isNew();
Он будет автоматически сливаться, а не сохраняться.
У меня есть класс объектов под названием User like:
@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;
И еще один класс
@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;
}
У меня есть пользовательский репозиторий, называемый UserRepostory, расширяющий JpaReopistory. Я удаляю сохранение для слияния и сохраняю, поскольку я вижу, что реализация демонстрирует, что Spring Data Jpa использует выше двух методов для обновления или вставки.
@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}
Я пытался выяснить, но не понял. Может быть, вы, ребята, можете помочь.