3

TIME_TO_SECMySQLデータベースと同じ機能を持つhibernate HQLのメソッドはありますか?

私のOracleデータベースでもこのHQLクエリを使用したいので、これを尋ねます:

"select count(log) from Entry log where time_to_sec(lclTime) between '"
             + timeInSeconds + "' and '" + nextHour + "

休止状態の HQL を使用して、Oracle データベースと MySQL データベースの両方でこのクエリを実行可能にする必要があります。

4

1 に答える 1

0

データベース固有の関数 (ネイティブ MySQL クエリ) を使用しているため、データベースを Oracle に変更すると機能しません。賢明な修正はHQLを使用することだと思います。あなたが書いたように、あなたのクエリはどちらの方法でも移植可能ではないことがわかりました。

修正:
1. MySQL の Time データ型を Oracle の Date データ型に移行します。
2. Entity フィールドを java.sql.Date タイプに変更します。

問題が発生した場合は、Hibernate User Type を使用してマップしてみてください。

この場合、User Type データ型が大いに役立ちます。

于 2012-10-30T13:34:18.220 に答える