2010-09-15 81 views
1

我在Hibernate .hbm.xml文件中使用「double」,並且當我使用Hibernate Tool生成類時,我得到了具有原始類型double的class屬性。我希望這個屬性是java包裝類型Double。我怎樣才能做到這一點?如果我在我的類中手動更改它,它會給任何問題休眠?用於映射java.lang.Double的Hibernate類型

感謝

+0

您確定要「double」而不是「BigDecimal」嗎?對於貨幣價值來說,「double」由於四捨五入而存在問題(3.11-3.1不是0.01,使用double)。 – 2010-09-15 15:05:52

回答

0

它只能發出你可以有是,如果你的屬性爲AMD列被聲明爲NOT NULL。所以我建議你總是初始化它。

1

我在Hibernate .hbm.xml文件中使用「double」,並且當我使用Hibernate Tool生成類時,我得到了具有原始類型double的class屬性。我希望這個屬性是java包裝類型Double。我怎樣才能做到這一點?

hbm.xml映射中的屬性是否可以爲空?如果是,你應該得到一個Double

如果你不能改變的映射,您可以覆蓋默認行爲:

0

如果你可以在你的hibernate.reveng.xml的類型映射下添加下面的語句,那麼你的pojos將使用double類型生成爲java.lang.Double。

<sql-type jdbc-type="DOUBLE" not-null="false" hibernate-type="double" /> 

或者

,如果你可以添加不空=「假」在您的HBM文件,也解決您的問題。

<property name="salary" type="double"> 
      <column name="SALARY" not-null="false" /> 
     </property>