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