3

JavaEE 6 チュートリアル (http://docs.oracle.com/javaee/6/tutorial/doc/bnbqa.html#bnbqf) では、主キーをマップする方法について次のように述べられています。

主キー、または複合主キーのプロパティまたはフィールドは、次の Java 言語タイプのいずれかである必要があります:
--cut--
java.util.Date (一時的なタイプは DATE である必要があります)
--cut--

「すべきだ」と書かれているのはどういう意味ですか?TemporalType=TIMESTAMP を使用すると、どのような影響がありますか?

long と java.util.Date の 2 つのフィールドを持つ複合主キーがあります。エンティティには、次のマッピングがあります (ID クラスはリストされていません)。

@Id
@Temporal(TemporalType.TIMESTAMP)
private Date startDate;

@Id
private long id;

上記は単体テストでは問題なく機能しますが、使用する時間型に関する上記の文言が気になります。

コメントや洞察は大歓迎です!

4

0 に答える 0