@Type annotation là một chú thích Hibernate.
Ở JPA2 đầy đủ (với Hibernate 3.6+ ), cách ánh xạ trường Boolean thành kiểu SQL TINYINT (1) thay vì BIT (1), là sử dụng thuộc tính columnDefinition.
@Column(nullable = false, columnDefinition = "TINYINT(1)")
private boolean enabled;
Thuộc tính nb:length dường như không có tác dụng trong trường hợp này, khi đó chúng tôi sử dụng cú pháp (1).
Với Hibernate 4.0+ , loại cú pháp này có thể gây ra lỗi thời gian chạy như thế này:
Wrong column type Found: bit, expected: TINYINT(1)
Có vẻ như trong trường hợp này, cách duy nhất của bạn là sử dụng tinyInt1isBit =false trong chuỗi kết nối nguồn dữ liệu MySQL như sau:
jdbc:mysql://server_host:3306/database?tinyInt1isBit=false
Nhân tiện, bây giờ bạn có thể sử dụng thuộc tính length như sau:
@Column(nullable = false, columnDefinition = "TINYINT", length = 1)
private boolean enabled;