@L'annotazione del testo è un'annotazione Hibernate.
A pieno JPA2 (con Hibernate 3.6+), il modo per mappare un campo booleano in TINYINT (1) tipo SQL invece di BIT (1), è quello di utilizzare l'attributo ColumnDefinition.
@Column(nullable = false, columnDefinition = "TINYINT(1)")
private boolean enabled;
nb: l'attributo lunghezza sembra non avere alcun effetto in questo caso, quindi usiamo la sintassi (1).
Con Hibernate 4.0+, questo tipo di sintassi può causare un errore di runtime in questo modo:
Wrong column type Found: bit, expected: TINYINT(1)
Sembra che in questo caso, il vostro unico modo è quello di utilizzare tinyInt1isBit = false nella stringa di connessione origine dati di MySQL come questo:
jdbc:mysql://server_host:3306/database?tinyInt1isBit=false
Tra l'altro, è ora possibile utilizzare t ha attributo di lunghezza simile a questo:
@Column(nullable = false, columnDefinition = "TINYINT", length = 1)
private boolean enabled;
Funziona correttamente, ma dopo aver modificato il bit (1) in int – zaletniy
-1, ma solo perché la risposta @Dude è migliore. – Johan
Funziona anche con un obiettivo booleano? – Rafael