Grails 2.1.0を使用していますが、ドメインクラスの1つにタイムスタンプ(64ビットの符号なし整数)を格納する必要があります。C++ではunsignedlonglongがこれに適していることはわかっていますが、Groovy/Grailsで何を使用すればよいかわかりませんでした。ドメインクラスでこのフィールドを表すためにBigIntegerを使用しました。
ただし、Grailsアプリケーションによって生成されたデータベースに書き込む必要があるJavaのレガシーアプリがあります。データベースでNetBeansHBMファイルとPOJO生成を実行すると、このタイムスタンプフィールドのセッター/ゲッター操作はBigIntegerではなくBigDecimalになります。なぜそれが起こっているのですか?
BigDecimalに変換しようとしましたが、データベースに書き込まれるときに、入力値がDECIMAL(19,2)に収まりません。Grailsフォーラムで検索を行ったところ、誰かがこれはHibernateの問題だと言っていました。それは数年前だったので、カスタムタイプを書くよりも良い解決策があることを望んでいました(これは投稿で推奨されていたものです)。この問題についても、Hibernateフォーラムで何も見つかりませんでした。