以下JPA列定義上的所有數據庫默認生成的「整數」數據類型(例如H2,MySQL和postgres的)就是hbm2ddl基於GenericEnumUserType
@Column(name = "type", nullable = false)
@Type(type = "com.mycompany.hibernate.usertype.GenericEnumUserType", parameters = {
@Parameter(name = "enumClass", value = "com.mycompany.model.DegreeType"),
@Parameter(name = "identifierMethod", value = "toInt"),
@Parameter(name = "valueOfMethod", value = "fromInt") })
@NotNull
private DegreeType type;
我想用最少的存儲這個字段,因此會更喜歡使用schemaDedinition參數來生成schema2ddl。但看起來tinyint在postgres中不受支持,但在上面提到的其他數據庫中受支持。
是否有可能根據數據庫類型生成不同的SQL文件。 1.什麼是實現這個目標的最佳途徑? 2.什麼是可用於此目的的最佳數據類型(最小存儲空間)?請問這是小問題
感謝和感激的幫助,使得類型TINYINT的伎倆。順便說一句,我將枚舉存儲爲整數,因此這個抽象需要在GenericEnum之上。由於我的枚舉值是可本地化的,因此我不能使用將所有值存儲爲字符串的@Enumerated註釋 – Joe 2009-12-02 07:27:48