L'annotation @Type est une annotation Hibernate.
En JPA2 complet (avec Hibernate 3.6+ ), la façon de mapper un champ booléen à un type SQL TINYINT(1) au lieu de BIT(1) consiste à utiliser l'attribut columnDefinition.
@Column(nullable = false, columnDefinition = "TINYINT(1)")
private boolean enabled;
nb :l'attribut de longueur semble n'avoir aucun effet dans ce cas, alors nous utilisons la syntaxe (1).
Avec Hibernate 4.0+ , ce type de syntaxe peut provoquer une erreur d'exécution comme celle-ci :
Wrong column type Found: bit, expected: TINYINT(1)
Il semble que dans ce cas, votre seul moyen est d'utiliser tinyInt1isBit=false dans la chaîne de connexion à la source de données MySQL comme ceci :
jdbc:mysql://server_host:3306/database?tinyInt1isBit=false
Au fait, vous pouvez maintenant utiliser l'attribut length comme ceci :
@Column(nullable = false, columnDefinition = "TINYINT", length = 1)
private boolean enabled;