# Hibernate boolean mapping



## nero30 (7. Mai 2009)

Hallo,
finde irgendwie nix im Netz dazu: ist es möglich Hibernate so zu konfigurieren, dass es booleans auf eine short-Spalte in der Datenbank abbildet? Also true=1 und false=0?
Ich meine sowas irgendwo mal gelesen zu haben, finde es aber nicht mehr wieder...

Danke und Gruß
nero


----------



## nero30 (7. Mai 2009)

..ok, also bei der JavaDB macht Hibernate das Mapping wohl automatisch, einfach für die short-Spalten in der DB boolean Felder in den Entity-Klassen definieren. Klappt das bei anderen DB's auch so?


----------



## byte (8. Mai 2009)

Keine Ahnung, aber zur Not kannst Du Dir immer einen eigenen Type definieren. Damit könntest Du im Grunde jeden Java Typ auf jeden beliebigen SQL Typ mappen.


----------



## nero30 (8. Mai 2009)

hast du vielleicht einen Link zu der Doku? Ich hab mir gestern nen Wolf gesucht und nichts diesbezüglich gefunden...


----------



## byte (8. Mai 2009)

Guck Dir Abschnitt 5.2.3 an. Die Doku ist beim Hibernate Download dabei.


----------



## nero30 (8. Mai 2009)

schaue ich mir an, danke.


----------



## WieselAc (20. Mai 2009)

Ich weiß zwar nicht, ob das 100% das Problem des Thread-Ersteller trifft, aber ich war vor kurzem auf der Suche nach einer ähnlichen Sache. Und zwar lasse ich das Datenbankschema von Hibernate generieren. Dabei werden boolean Variablen standardmässig in eine Spalte vom Typ bit(1) abgebildet. Jedenfalls bei meiner Hibernate Konfiguration ist das so  

Das hat mir nicht wirklich gefallen. Insbesondere, da ich aus PHP ebenfalls auf die Daten zugreifen muss. Von daher war ich auf der Suche das ganze passender zu Mappen und hier istdas simple Ergebnis (jedenfalls für MySQL):


```
@column(columnDefinition = "TINYINT(1)" )
private boolean test;
```

Vielleicht hilft es ja noch dem ein oder anderen in der Zukunft!


----------



## neonfly (20. Mai 2009)

@Column(length=1)
private boolean termsaccepted;

erzeugt bei einer mySql auch ein Feld BIT der Größe 1.


----------

