2017-02-06 13 views
0

を返す私はchar型(20)であるDBの列を持っていると私は休止query.list()単一char値

<property name="my_cloumn" type="string"> 
     <column name="My_column" sql-type="char(20)"> 
     </column> 
    </property> 

以下のように列をマッピングし、私はこの列のためのデータを持っています私はQuery.list()を実行したときのようなデシベル123456789123456789

、私が問題を引き起こしている可能性がありますどのような最初の文字にのみすなわち「1」

を取得していますか?私は休止状態3.3

Update 1の使用しています

:私はQuery.list()を実行する前に、下記行っております

query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP); 

答えて

0

がある可能性があり、適切ではありませんがHBMのバグフレームワーク全体で一貫してchar(20)のデータ型を解析します。明示的であるためには、代わりにこのマッピングを試します。Oracle SQLでは

<property name="my_cloumn" type="string"> 
    <column name="My_column" sql-type="char" length="20" /> 
</property> 
+0

ありがとう、私はそのあなたはどのようなデータベースを使用している – Raj

+0

を試してみて、更新しますか? – Raj

+0

を動作していない、まだ – Naros

0

:休止状態で

CAST(My_column AS VARCHAR2(20)) 

cast(my_cloumn as string) 

場合ANSIキャスト()と(抽出)サポートされています基礎となるデータベースによって。

Oracleを使用しているため、これは正しいです。 VARCHAR2を使用する必要があるので、問題を修正しないCHAR(20)でCASTを使用してみました。私の状況はOracle SQLを使用していたので、私が与えたHibernateの例をテストすることはできませんでしたが、あなたはその考えを得ています。

http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/queryhql.html#queryhql-expressions