8

カスタム SQL 関数を JPA/Hibernate に登録する最良の方法を知りたいです。

MysqlInnodb 方言を拡張する必要がありますか、それとももっと良い方法がありますか?

コードサンプルと関連ドキュメントへのポインタを提供してもらえますか?

4

3 に答える 3

7

はい、方言を拡張することは、カスタム SQL 関数を登録する良い方法です。

Dialect クラスのコンストラクターに次のようなものを追加します。

registerFunction("current_timestamp", new NoArgSQLFunction(Hibernate.TIMESTAMP) );
registerFunction("date", new StandardSQLFunction(Hibernate.DATE) );

既存の方言クラスの 1 つのソース コードを見てください。 http://www.koders.com/java/fid0E7F787E2EC52F1DA8DFD264EDFBD2DE904A0927.aspx

于 2012-09-10T07:47:05.710 に答える