Hibernate リバース エンジニアリングを使用して、データベース スキームからクラスを自動的に作成します。DB サーバーは MSSQL 2008 です。このデータベースはパートナーによって設計されており、予告なしに変更される可能性があります。したがって、Hibernate が起動時にスキームを検証するようにしたいと思います。私の意見では、そのままで動作するはずです。しかし、そうではありません:
org.hibernate.HibernateException: Wrong column type in somedb.dbo.ASVC_S for column SomeCol. Found: decimal, expected: numeric(18,0)
生成されたエンティティ クラスは次のようになります。
@Column(name="SomeCol", precision=18)
public BigDecimal getSomeCol() {
return this.someCol;
}
reveng がスキーマに対して検証できるクラスを作成するという私の仮定は間違っていますか? 検証をスキップして、実行時にすべてが問題ないことを期待する必要がありますか? クラスを生成した後にクラスに注釈を付けたり、 reveng.xml マッピング ファイルで各クラスのエントリを維持したりすることはできません。クラスが多すぎます;)
hibernate-tools のバージョンは 4.0.0-CR1 です。