0

データベースに固定長のフィールドがいくつかあります。私は と にかなり慣れていませJPAJSR 303

JPA では、データベースで許可されているサイズよりも大きなサイズのフィールドを持つエンティティを永続化できません (これが必要です)。@Columnパラメータを使用して s を記述するlengthことは、ddl 生成にのみ役立ちます。

また、私の知る限り、JSR 303 でパラメーターを記述すると@Size、フィールドを変更したい場合にのみ回答がトリガーされます。

JSR 303、JPA、またはその他を使用して、その切り捨てを処理する標準的な方法は何だろうと思っていました。

編集:JPAで自動切り捨てを有効にすることは可能ですか?

よろしくお願いします

4

1 に答える 1

1

JB Nizet が提案したように、セッターで実行できます。しかし、それは厳密な Java Bean にはなりません。

データベースに実装することもできますが、実装の移植性が低下します。

最善の方法は、このロジックを Bean または DB の外部に保持することです。つまり、アプリケーションロジックにあります。

アップデート:

JPA で切り捨てを行う必要がある場合は、@EntityListeners とコールバックを参照してください。 http://docs.jboss.org/hibernate/orm/4.0/hem/en-US/html/listeners.html

于 2013-03-08T16:31:55.107 に答える