如何将实体列表更新到数据库

时间:2019-05-31 06:54:54

标签: java sql-server spring-data-jpa

我有一个名为employee的实体类,我想在选择并按Delete按钮时将其实体软删除。我也可以选择多个雇员,所以在Java中我使用了Employee Entities列表,并且如果我使用entityManager的合并,我想将整个列表更新到数据库表中,但是我只能更新一行,即只能更新一个实体,所以怎么办我解决了这个问题?

这是一些示例代码。

@Entity
@Table(name="EmpInfo",schema="Auth")
public class EmpInfo{

@Id
@Column(name="EmpId")
private String userId;

@Column(name="EmailId")
private String emailId;

@Column(name="FirstName")
private String firstName;

@Column(name="LastName")
private String lastName;

@Column(name="MiddleName")
private String middleName;

@Column(name="UserAttributes")
private String userAttributes;

@Column(name="AddedDate")
private Timestamp addedDate;

@Column(name="ModifiedDate")
private Timestamp modifiedDate;

@Column(name="LastLoginDate")
private Timestamp lastLoginDate;

@Column(name="IsDeleted")
private int isDeleted;

@Column(name="AddedBy")
private String addedBy;

@Transient
private String addedByEmailId;


public String getAddedByEmailId() {
    return addedByEmailId;
}
public void setAddedByEmailId(String addedByEmailId) {
    this.addedByEmailId = addedByEmailId;
}

public EmpInfo() {
    // TODO Auto-generated constructor stub
}
public EmpInfo(EmpInfo uInfo){
    super();
    this.userId=uInfo.userId;
    this.emailId=uInfo.emailId;
    this.firstName=uInfo.firstName;
    this.lastName=uInfo.lastName;
    this.middleName=uInfo.middleName;
    this.userAttributes=uInfo.userAttributes;
    this.addedDate=uInfo.addedDate;
    this.lastLoginDate=uInfo.lastLoginDate;
    this.modifiedDate=uInfo.modifiedDate;
    this.addedBy=uInfo.addedBy;
    this.roles=uInfo.roles;

}



public List<RoleName> getRoles() {
    return roles;
}
public void setRoles(List<RoleName> roles) {
    this.roles = roles;
}
public int getIsDeleted() {
    return isDeleted;
}
public void setIsDeleted(int isDeleted) {
    this.isDeleted = isDeleted;
}
public Date getAddedDate() {
    return addedDate;
}
public void setAddedDate(Timestamp addedDate) {
    this.addedDate = addedDate;
}
public Date getModifiedDate() {
    return modifiedDate;
}
public void setModifiedDate(Timestamp modifiedDate) {
    this.modifiedDate = modifiedDate;
}
public Date getLastLoginDate() {
    return lastLoginDate;
}
public void setLastLoginDate(Timestamp lastLoginDate) {
    this.lastLoginDate = lastLoginDate;
}
public String getUserId() {
    return userId;
}
public void setUserId(String userId) {
    this.userId = userId;
}
public String getEmailId() {
    return emailId;
}
public void setEmailId(String emailId) {
    this.emailId = emailId;
}
public String getFirstName() {
    return firstName;
}
public void setFirstName(String firstName) {
    this.firstName = firstName;
}
public String getLastName() {
    return lastName;
}
public void setLastName(String lastName) {
    this.lastName = lastName;
}
public String getMiddleName() {
    return middleName;
}
public void setMiddleName(String middleName) {
    this.middleName = middleName;
}

public String getUserAttributes() {
    return userAttributes;
}
public void setUserAttributes(String userAttributes) {
    this.userAttributes = userAttributes;
}

public String getAddedBy() {
    return addedBy;
}
public void setAddedBy(String addedBy) {
    this.addedBy = addedBy;
}
@Override
public String toString() {
    return "EmpInfo [userId=" + userId + ", emailId=" + emailId + ", firstName=" + firstName + ", lastName="
            + lastName + ", middleName=" + middleName + ", userAttributes=" + userAttributes + ", addedDate="
            + addedDate + ", modifiedDate=" + modifiedDate + ", lastLoginDate=" + lastLoginDate + ", isDeleted="
            + isDeleted + ", addedBy=" + addedBy + "]";
}
}

1 个答案:

答案 0 :(得分:0)

public interface EmpInfoRepository extends JpaRepository<EmpInfo, String> {
}

使用它来保存实体列表,如下所示

@Autowired
private EmpInfoRepository empInfoRepository;

empInfoRepository.save(listOfEntity)

由于未定义自定义实现,因此将使用SimpleJpaRepository完成的实现,它将根据@Id带注释的字段更新实体