Problem mit Boolean in Hibernate mit MySQL

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.