Есть ли способ предотвратить сохранение нулевых значений при одновременном пропуске других?

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

Ответы на вопрос(2)

Ваш ответ на вопрос