i use the reverse engeneering in my class and get this:
@Entity
@Table(name = \"user\", catalog = \"bytecode\", uniqueConstraints =
@UniqueConstraint(columnN
Do you have to have it as a bit
type in MySQL? The easiest solution would be to change the data type in MySQL to tinyint(1)
.
Otherwise you should be able to map your entity type to an integer using annotations; Not sure about this, have to look it up
...
@Column(nullable=false)
@Type(type="org.hibernate.type.BooleanType")
private short type;
I had a similar problem. The following mapping in Java solved my problem:
@Column(name = "columnName", columnDefinition="BIT")
private Boolean columnVariable;
Hibernate has a special numeric_boolean
type for this kind of mapping. You can configure it as follows:
@Type(type = "numeric_boolean")
private boolean type;
See also:
http://bugs.mysql.com/bug.php?id=28422 suggests it is a bug. http://www.xaprb.com/blog/2006/04/11/bit-values-in-mysql/ suggests it would be wise to skip it. But of course you can't tell the DBA to not use a bit column in MySQL - meaning either we need to use and older version of MySQL (< 5.0.3) or not use MySQL's bit + Hibernate at all.