По умолчанию битовые поля в спящем режиме - PullRequest
0 голосов
/ 28 июня 2019

У меня есть устаревшая база данных MSSQL, которая использует столбец BIT, NULL для представления логического значения Java. Столбец содержит значения 0,1, NULL.

Я бы хотел, чтобы все значения NULL были преобразованы в FALSE в Java, но я не хочу добавлять if (x==null) {x=false} в начало каждого установщика.

  private Boolean digital;

  @Column(name = "Digital", length = 1, nullable = true, columnDefinition = "bit")
  public void setDigital(Boolean digital) {
    if (digital == null) { digital = Boolean.FALSE; }
    this.digital = digital;
  }

Я пытался преобразовать тип в примитивный логический, но hibernate жалуется, что не может преобразовать NULL в примитив, даже если я установил значение по умолчанию в Java.

  private boolean digital = false;

  @Column(name = "Digital", length = 1, nullable = false, columnDefinition = "bit")
  public boolean getDigital() {
    return digital;
  }

В идеале мне нужен примитивный логический тип, который возвращает true (для 1) или false (для 0 или NULL). Есть ли какие-либо варианты в спящем режиме, чтобы сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...