Date
はスレッドセーフではありませんが、これが悪くなる可能性がある場合は実際的な説明が見つかりませんでした。私はDateFormat
で解析するとひどく終わりますが、Date
?Javaで取得する前にDateオブジェクトを複製する必要があります
たとえば、以下のようにDateを使用すると、マルチスレッド環境では何か厄介なことになりますか?
getCreationDate
は内部プロパティを返すだけでいいですか?または、Spring/Hibernateがこれを正しく処理しますか?
getCreationDate
はどうすればいいですか?
これはなんですか?
@Entity
public class PostEntity implements Post {
//...
@NotNull
@Temporal(value = TemporalType.TIMESTAMP)
private Date postDate;
//...
@Override
public Date getPostDate() {
return postDate;
}
}
またはこれはもっと類似している必要がありますか?
@Entity
public class PostEntity implements Post {
//...
@NotNull
@Temporal(value = TemporalType.TIMESTAMP)
private Date postDate;
//...
@Override
public synchronized Date getPostDate() {
return new Date(postDate.getTime());
}
}
最新の(Java 8)APIを使用していますか? – chrylis
厄介な 'Date'と' DateFormat'は、以前は古くなっていて、何年も前に廃止されました。具体的には、 'Instant'、' OffsetDateTine'、 'ZonedDateTime'、' DateTimeFormatter'です。 –