默認情況下,如果我在一個實體,如創建一個字段:默認情況下,Hibernate如何將布爾數據類型映射爲使用Oracle數據庫?
@NotNull
boolean myBoolean;
我讓Hibernate自動創建我的表。這個映射到哪個Oracle數據類型?
默認情況下,如果我在一個實體,如創建一個字段:默認情況下,Hibernate如何將布爾數據類型映射爲使用Oracle數據庫?
@NotNull
boolean myBoolean;
我讓Hibernate自動創建我的表。這個映射到哪個Oracle數據類型?
只需數(1)
如果你想使用SchemaExport工具生成一個腳本到目標數據庫。像
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration
.addAnnotatedClass(<TYPE_YOUR_CLASS>.class)
.setProperty(Environment.USER, <TYPE_YOUR_USER>)
.setProperty(Environment.PASS, <TYPE_YOUR_PASSWORD>)
.setProperty(Environment.URL, <TYPE_YOUR_URL>)
.setProperty(Environment.DIALECT, <TYPE_YOUR_DIALECT>)
.setProperty(Environment.DRIVER, <TYPE_YOUR_DRIVER>);
SchemaExport schema = new SchemaExport(configuration);
schema.setOutputFile("schema.sql");
schema.create(<DO_YOU_WANT_TO_PRINT_TO_THE_CONSOLE>, <DO_YOU_WANT_TO_EXPORT_THE_SCRIPT_TO_THE_DATABASE>);
正如@Arthur東西說,它映射到Number(1)
這將是標準的SQL位,其中0 == false
和1 == true
。作爲替代,你可以映射char(1)
爲「T」或「F」這樣
@org.hibernate.annotations.Type(type="true_false")
@NotNull
boolean myBoolean;
或將其映射到「Y」或「N」
@org.hibernate.annotations.Type(type="yes_no")
@NotNull
boolean myBoolean;
會有一個xml例子嗎? – rogerdpack 2013-04-30 22:36:48
@rogerdpack
這是你真正需要的
的Java POJO:
//@Type(type="true_false") //not working for '1' and '0' in NUMERIC(1) field
@Type(type= "org.hibernate.type.NumericBooleanType")
@NotNull(message="NOT_NULL")
@Column(name = "IS_DELEGATION", nullable = false)
private Boolean isDelegation;
甲骨文DDL
alter table agent add (is_delegation number(1) default 0 not null);
感謝您的編輯/格式設置 – 2015-07-27 15:48:28
描述不符,存在對生成的模式任何意義的註解? – 2015-06-11 13:44:20