hibernateの基準を使ってsysdateを挿入/更新する方法は?

私は休止状態で春を使用しています。私のデータベースはオラクルです。私はsysdateでレコードを更新/保存したい。 HQLを使用してsysdateを挿入/更新できます。しかし、私は基準を使用してsysdateを挿入する方法を知らない。私を助けてください。

ありがとう!

0
こんにちはNizet、お返事ありがとうございます。 sysdateでレコードを挿入/更新したい場合は、HQLだけを使用する必要がありますか?私を提案してください。
追加された 著者 user1016403,
こんにちはNizetあなたの返信に感謝します。エンティティを読み込み、その中に日付を変更したことを考慮してください。今私は単にsave/merge()を呼び出す必要がありますか?
追加された 著者 user1016403,
こんにちはNizetリンクを共有していただきありがとうございます。私の質問は、従業員の実体私はdbからクライアント側に取得したと考えています。今UIユーザは従業員名を変更しました。今すぐsubmit.session.saveOrUpdate()を呼び出す必要がある変更を保存するには?私が間違っている場合は私を修正してください。
追加された 著者 user1016403,
条件を挿入または更新クエリに使用することはできません。選択のみ。あなたの質問は意味をなさない。
追加された 著者 JB Nizet,
いいえ、エンティティを作成/ロードし、setSomeDate(new Date())を呼び出す必要があります。
追加された 著者 JB Nizet,
いいえ、何もする必要はありません。 Hibernateは、必要に応じて(少なくともコミット時に)変更を自動的にフラッシュします。これは理解することが非常に重要です。 Hibernateリファレンスマニュアル、特にこの章を読む: docs.jboss.org/hibernate/core/3.6/reference/en-US/html_singl‌ e /…
追加された 著者 JB Nizet,
なぜあなたのモデルはOracleデータベースに依存するのですか?
追加された 著者 ssedano,
それが私が見てみた理由です。多分彼のニーズに合っているでしょう。
追加された 著者 ssedano,
@UdoFhollは、各更新時に列が変更される場合にのみ適しています。
追加された 著者 Xavi López,

1 答え

HQLの挿入/更新文で sysdate を使用するのは簡単ではないようです。 HQLのselectでは current_timestamp()関数を使用できますが、update/insertでは使用できません。

いくつかの独立した状況でこの更新を行う必要があるかどうか、またはこの列がエンティティの挿入/更新の時点でデータベースの日付を常に常に保持するかどうかに関する質問は明確ではありません。

1
追加された
それは有効な解決策です。しかし、あなたはOracleに依存関係を導入しています。
追加された 著者 ssedano,
数式はSQLでなければならず、内容はコンパイル時定数でなければなりません。しかし、あなたのソリューションはかなりうまくいくでしょう。
追加された 著者 ssedano,
答えに+1、クレジットのおかげで、しかし、必要ではありません!ヘーヘ
追加された 著者 ssedano,