Menschen ist Entität und ich denke, das ist gültig, aber warum Validator dies nicht walid sagen? Validator sagen 'Nama' ist Null.Objekt aus Service-Ergebnis immer nicht gültig
People orang = peopleService.get(id);
orang.setNama("Nama Baru");
Set<ConstraintViolation<People>> violations = validator.validate(orang);
Muss so sein.
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);
Was ist das anders? Was stimmt nicht mit dem Service-Ergebnis?
EDITED: Das ist meine Leute Entity ist
@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;
}
}
Und das ist peopleService Verfahren zur Daten erhalten
@Override
public People get(String id)
{
return peopleRepository.getOne(id);
}
Können Sie Ihre "People" Entität zeigen? Ich nehme an, das erste Beispiel funktioniert, während das zweite nicht? – Alex
Meine Vermutung ist, dass das People-Objekt, das vom Dienst zurückkommt, anders als das People-Objekt im zweiten Codebeispiel ist und dass das People-Objekt vom Dienst unveränderlich ist und Sie daher den Namen höchstwahrscheinlich nicht außerhalb des Dienstes festlegen können . – hooknc
Sehen Sie sich mit einem Debugger an, wie beide 'orang'-Variablen zur Laufzeit innen aussehen. – Alex