Firebird 2.0で実行されている古いデータベースがあり、SmallInt列をブール型にマップする必要があります。ブール型は、の場合SmallInt = 0
は。 False
、SmallInt = 1
の場合はTrue
です。
また、これはHibernateAnnotationsを使用して行う必要があります。
Hibernate3.6を使用しています。
任意のヒント?
前もって感謝します。
Firebird 2.0で実行されている古いデータベースがあり、SmallInt列をブール型にマップする必要があります。ブール型は、の場合SmallInt = 0
は。 False
、SmallInt = 1
の場合はTrue
です。
また、これはHibernateAnnotationsを使用して行う必要があります。
Hibernate3.6を使用しています。
任意のヒント?
前もって感謝します。
もう少し検索した後、http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/types.html#types-value-basicorg.hibernate.type.NumericBooleanType
でこの休止状態のタイプを見つけることができました
そして、私はこのようにマッピングしようとしました:
@Type(type = "org.hibernate.type.NumericBooleanType")
private Boolean field;
しかし、Hibernateがこの例外をスローしたため、これは機能しませんでした。
org.hibernate.HibernateException: Wrong column type in %TABLE_NAME% for column %COLUMN_NAME%. Found: smallint, expected: integer
そこで、この列の定義を強制して、次のようにマッピングしようとしました。
@Column(columnDefinition = "SMALLINT")
@Type(type = "org.hibernate.type.NumericBooleanType")
private Boolean field;
そして今、これは魅力のように機能します。