Powiedzmy, ze mam w bazie następującą tabele:
CREATE TABLE Tabela(
"Imie" VARCHAR(50) NOT NULL,
"Kolor" VARCHAR(50) NOT NULL DEFAULT 'Czerwony'
)
Przy dodawaniu nowego rekordu w programie podaję tylko imię, a kolor ma być domyślny. Generowany jest wtedy następujący kod SQL:
INSERT INTO Tabela (Imie, Kolor) VALUES (?, ?)
bind => [Artur, null]
W efekcie kolor jest null i generowany jest wyjątek.
Jak zrobić, żeby przy podaniu samego imienia dodawany był domyślny kolor?
Kolor jest typu String, więc mógłbym w klasie encji zrobić coś takiego:
private String kolor="Czerwony";
ale co w przypadku, gdy polem jest inna encja np:
private InnaEncja encja;
Bez sensu jest specjalnie tworzyć obiekt tej encji w celu ustawienia wartości domyślnej. Chciałbym żeby było to pobierane z definicji tabeli.