Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Hibernate JPA, MySQL dan TinyInt(1) untuk Boolean alih-alih bit atau char

@Jenis anotasi adalah anotasi Hibernate.

Dalam JPA2 penuh (dengan Hibernate 3.6+ ), cara untuk memetakan bidang Boolean ke tipe SQL TINYINT(1) alih-alih BIT(1), adalah dengan menggunakan atribut columnDefinition.

@Column(nullable = false, columnDefinition = "TINYINT(1)")
private boolean enabled;

nb:atribut panjang tampaknya tidak berpengaruh dalam kasus ini, maka kami menggunakan (1) sintaks.

Dengan Hibernasi 4.0+ , sintaks semacam ini dapat menyebabkan kesalahan runtime seperti ini :

Wrong column type Found: bit, expected: TINYINT(1)

Tampaknya dalam kasus ini, satu-satunya cara Anda adalah menggunakan tinyInt1isBit=false dalam string koneksi sumber data MySQL seperti ini :

jdbc:mysql://server_host:3306/database?tinyInt1isBit=false

Omong-omong, sekarang Anda dapat menggunakan atribut length seperti ini :

@Column(nullable = false, columnDefinition = "TINYINT", length = 1)
private boolean enabled;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyimpan nilai hash SHA1 di MySQL

  2. Masukkan nilai Array masukkan ke ID tunggal ke dalam database mysql menggunakan php dan PDO

  3. waktu eksekusi mysql

  4. Bagaimana cara membuat file konfigurasi global?

  5. org.json.JSONException:Nilai <br dari tipe java.lang.String tidak dapat dikonversi ke JSONObject