0

私にはオブジェクトの学生がいます。次に、有効期限と呼ばれるプロパティがあります。これは、データベースの sysdate + 値 (1000) で設定する必要があります。どうすればjpaで保存できますか。jpaのプリペアドステートメントクエリ自体でそれを行うことはできませんか?

sql.date を使用すると、'sysdate' として保存するときとまったく同じ値になりますか?

クエリ自体でそれを行うことはできませんか?

他のプロパティをオブジェクトに設定できます。しかし、sysdate が必要で、それに別の値を追加する必要があるため、問題はこの有効期限です。どうすればjpaの準備済みステートメントでそれを行うことができますか. 返事してください

4

3 に答える 3

0

なぜ使用したいのsysdateですか?その構文はデータベース固有であり、アプリケーション ホスティング マシンのクロックではなく、DB ホスティング マシンのクロックにも依存します。

最も簡単な方法は、の型と の値java.util.Dateとして使用することです。この値をフィールドの宣言で使用して、新規作成時のデフォルト値として使用するか、既存の変更時にセッターに渡される値として使用します。expiryDatenew Date(System.currentTimeInMillis() + 1000)StudentStudent

public class Student {

    ...

    /**
     * Using java.util.Date here. Hibernate knows to convert it automagically to java.sql.Date.
     * Set default value to current time + 1 second, if this is your requirement.
     */
    private Date expiryDate = new Date(System.currentTimeInMillis() + 1000);

    public void setExpiryDate(final Date expiryDate) {
        this.expiryDate = expiryDate;
    }

    ...

}
于 2013-07-26T11:16:06.983 に答える
0

Java自体に追加できます。日付を追加するには、calendar オブジェクトを使用します。

      Calendar expirydate=Calendar.getInstance();
     expirydate.add(Calendar.DATE, 1000);

expirydate.getTime
() は、有効期限オブジェクトを提供します。

于 2013-07-26T10:59:55.723 に答える