Есть ли способ предотвратить сохранение нулевых значений при одновременном пропуске других?
У меня есть существующий проект JPA (EclipseLink), где требуемое поведение заключается в том, что если задано нулевое значение в поле для объекта, это нулевое значение не должно сохраняться.
Сценарий использования заключается в том, что мы можем получить несколько частичных обновлений этих объектов из внешних источников. Эти источники могут дать нам нулевое значение, которое не означает «обнулить это поле», а означает «у меня нет этого значения».
Есть ли аннотация, шаблон или другой инструмент, который можно использовать для автоматизации проверки нуля в установщике ИЛИ сказать JPA не сохранять нулевые значения ????
Я могу пройти через каждый сеттер в каждом объекте и добавитьif(val != null) { //set the value }
но это утомительно и повторяется.
Например, у нас есть:
@Entity
@Table(name = "my_table")
public class MyObject {
@Column
private String myColumn;
public String getMyColumn() {
return this.myColumn;
}
public void setMyColumn(String val) {
this.myColumn = val;
}
}
Я хотел бы иметь что-то, что автоматически поможет, как это:
@Entity
@Table(name = "my_table")
public class MyObject {
@Column
@DontPersistIfNull
private String myColumn;
public String getMyColumn() {
return this.myColumn;
}
public void setMyColumn(String val) {
this.myColumn = val;
}
}
Или это:
@Entity
@Table(name = "my_table")
public class MyObject {
@Column
private String myColumn;
public String getMyColumn() {
return this.myColumn;
}
public void setMyColumn(String val) {
//AUTOGENERATED NULL CHECK
if(val != null) {
this.myColumn = val;
}
}
}