Ein Weblog über Technik

Wenn Hibernate mit MySQL und MySQLDialect oder MySQL5Dialect genutzt wird, kann es sein, dass der Datentyp Boolean nicht richtig funktioniert. Und zwar legt Hibernate ein Boolean-Feld in MySQL als BIT(1) an, womit scheinbar der JDBC-Treiber nicht klarkommt.

Damit Boolean-Felder mit Hibernate/MySQL richtig funktionieren, kann und sollte man den Datentyp des Feldes auf TINYINT(1) setzen. Mit Annotations geht das beispielsweise so:

@Column(columnDefinition="TINYINT(1)")
private boolean disabled;

Zum Nachlesen: Der Bugreport HH-468 von Hibernate über diesen Fehler.

Einen Kommentar schreiben