У меня есть существующий проект 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;
}
}
}