在我的数据库中,我有像
这样的列"ISDEFAULTPAYMENTFORCURRENCY" CHAR(1 BYTE) NOT NULL ENABLE,
CHECK (ISDEFAULTPAYMENTFORCURRENCY IN ('N','Y')) ENABLE,
在我的豆子里,我有
private Boolean isDefaultPaymentForCurrency;
我的问题,如何在hibernate hbm文件中映射此isDefaultPaymentForCurrency
?
<property name="isDefaultPaymentForCurrency" type="???" column="ISDEFAULTPAYMENTFORCURRENCY" not-null="true"/>
答案 0 :(得分:2)
使用
<property name="isDefaultPaymentForCurrency" type="yes_no" column="ISDEFAULTPAYMENTFORCURRENCY" not-null="true"/>
要使用hql,您可以在hibernate.cfg
<property name="hibernate.query.substitutions">true 'Y', false 'N'</property>
答案 1 :(得分:2)
从Java原语或包装类到适当的(特定于供应商的)SQL的类型映射
列类型。 boolean
,yes_no
和true_false
都是Java布尔值或java.lang.Boolean
的替代编码。
http://docs.jboss.org/hibernate/stable/core.old/reference/en/html/mapping-types.html
答案 2 :(得分:1)
我引用了the link, Hibernate Mapping Types,最后使用了boolean
。
一个hbm.xml
示例。
<property name="scheduable" type="boolean" >
<column name="SCHEDUABLE" not-null="true" default="false" />
</property>
答案 3 :(得分:0)
您可能需要尝试以下类型:org.hibernate.type.YesNoType
。可以使用以下reference(特别是第6.1.1.3节)。注册为yes_no