@La anotación de tipo es una anotación Hibernate.
En completo JPA2 (con Hibernate 3.6+), la manera de asignar un campo booleano a una TINYINT (1) Tipo de SQL en lugar de BIT (1), es utilizar el atributo ColumnDefinition.
@Column(nullable = false, columnDefinition = "TINYINT(1)")
private boolean enabled;
nb: el atributo de longitud parece no tener ningún efecto en este caso, entonces usamos (1) la sintaxis.
Con Hibernate 4.0 +, este tipo de sintaxis puede causar un error de ejecución así:
Wrong column type Found: bit, expected: TINYINT(1)
Parece ser que en este caso, la única manera es utilizar tinyInt1isBit = false en la cadena de conexión de origen de datos MySQL como esto:
jdbc:mysql://server_host:3306/database?tinyInt1isBit=false
Por cierto, ahora se puede utilizar t atributo de longitud que de esta manera:
@Column(nullable = false, columnDefinition = "TINYINT", length = 1)
private boolean enabled;
Funciona bien, pero después de cambiar bit (1) a int – zaletniy
-1, pero solo porque la respuesta @Dude es mejor. – Johan
¿Funciona esto también con un objeto booleano? – Rafael