0
人是實體,我認爲這是有效的,但爲什麼驗證者說這不是walid?驗證器說'nama'爲空。服務對象結果總是無效
People orang = peopleService.get(id);
orang.setNama("Nama Baru");
Set<ConstraintViolation<People>> violations = validator.validate(orang);
必須這樣。
People tmp = peopleService.get(id);
People orang = new People();
orang.setId(id);
orang.setNama("Nama Baru");
orang.setJenkel(tmp.getJenkel());
orang.setAlamat(tmp.getAlamat());
Set<ConstraintViolation<People>> violations = validator.validate(orang);
有什麼不同?服務結果有什麼問題?
編輯: 這是我的人類實體
@Entity
public class People implements Serializable {
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid2")
private String id;
@NotNull(message = "Jangan biarkan null")
@Size(min = 3, message = "Panjang nama minimal 3 karakter")
private String nama;
@NotNull(message = "Jangan biarkan null")
private String jenkel;
private String alamat;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNama() {
return nama;
}
public void setNama(String nama) {
this.nama = nama;
}
public String getJenkel() {
return jenkel;
}
public void setJenkel(String jenkel) {
this.jenkel = jenkel;
}
public String getAlamat() {
return alamat;
}
public void setAlamat(String alamat) {
this.alamat = alamat;
}
}
這是peopleService方法獲取數據
@Override
public People get(String id)
{
return peopleRepository.getOne(id);
}
您可以向您展示'People' Entity嗎?我假設第一個例子有效,而第二個例子不是? – Alex
我的猜測是,從服務返回的People對象與您在第二個代碼示例中創建的People對象不同,並且服務中的People對象是不可變的,因此您很可能無法在服務外設置該名稱。 – hooknc
用調試器看一下在運行時,兩個'orang'變量看起來像什麼樣子。 – Alex