У меня есть устаревшая база данных 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). Есть ли какие-либо варианты в спящем режиме, чтобы сделать это.