2009-12-08 64 views
2

我在使用Hibernate在MySQL數據庫中創建tinyint字段時遇到問題。如何在Hibernate註釋中創建Tinyint字段

以前寫這樣

@Entity

@Table(名稱= 「表名」)

公共類myEntity所{

private int id; 

@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
@Column(name="id") 
public int getId() { 
    return id; 
} 

public void setId(int id) { 
    this.id = id; 
} 

}

實體類

當我檢查MySQL時,ID字段總是以Integer(11)結尾,我如何使它成爲TinyInt?

任何答覆,將不勝感激

回答

2

我認爲有幾種方法可以做到這一點。第一種方法是使用columnDefinition屬性的@Column批註閱讀是這樣的:

@Column(name = "id", columnDefinition = "TINYINT") 

這不是便攜式跨數據庫,不與變量本身是一個int以及對齊。此處可能需要一個字節或短字符

另一種方法是使用@Type註釋,可能與org.hibernate.type.ByteType相似,因爲它似乎代表TINYINT(link to javadoc)。

我希望這會有所幫助。

+0

謝謝你,它使用自己的方式, 工作 - 首先創建我自己的MySQL方言,從org.hibernate.dialect.MySQLDialect 並延伸然後我添加 registerColumnType(Types.TINYINT,「TINYINT」); 然後我在@Column註釋中添加columnDefinition =「TINYINT」 非常感謝,我讚賞 – Herry 2009-12-08 04:42:00

0

你可以嘗試使用columnDefinition屬性的@Column批註來定義你想,如果你從你的bean中的註釋創建您的架構來執行SQL。

0

變化的int字節或字節,無需額外的註釋