@टाइप एनोटेशन एक हाइबरनेट एनोटेशन है।
पूर्ण JPA2 में (हाइबरनेट 3.6+ . के साथ) ), एक बूलियन फ़ील्ड को TINYINT(1) के बजाय एक TINYINT(1) SQL प्रकार में मैप करने का तरीका, columnDefinition विशेषता का उपयोग करना है।
@Column(nullable = false, columnDefinition = "TINYINT(1)")
private boolean enabled;
nb:लंबाई विशेषता का इस मामले में कोई प्रभाव नहीं पड़ता है, तो हम (1) सिंटैक्स का उपयोग करते हैं।
हाइबरनेट 4.0+ . के साथ , इस प्रकार का सिंटैक्स इस तरह रनटाइम त्रुटि का कारण बन सकता है:
Wrong column type Found: bit, expected: TINYINT(1)
ऐसा लगता है कि इस मामले में, आपका एकमात्र तरीका tinyInt1isBit=false का उपयोग करना है MySQL डेटासोर्स कनेक्शन स्ट्रिंग में इस तरह:
jdbc:mysql://server_host:3306/database?tinyInt1isBit=false
वैसे, अब आप लंबाई विशेषता का उपयोग इस तरह कर सकते हैं:
@Column(nullable = false, columnDefinition = "TINYINT", length = 1)
private boolean enabled;