0

hibernate のドキュメントには、composite-id に使用するクラスは serializable を実装する必要があると書かれています。私が参照しているドキュメントのリンクは次のとおりです。 /html/mapping.html#mapping-declaration-compositeid

永続クラスは、equals() および hashCode() をオーバーライドして、複合識別子の等価性を実装する必要があります。また、Serializable も実装する必要があります。

しかし、なぜ直列化可能を実装する必要があるのでしょうか?

私はこのSOリンクを見てきました:なぜ複合IDクラスはSerializableを実装しなければならないのですか?

しかし、私はそこで与えられた答えを理解していません。ここで概念を理解するのを手伝ってください。

4

1 に答える 1

2

Hibernate は個々の値、特に ID を格納できるキャッシュを使用するためです。非プリミティブ クラスの場合、これらの個々の値を転送およびキャッシュへの格納のためにバイトに変換する方法が必要です。hibernate が非プリミティブ クラスに使用するメカニズムは、Java シリアライゼーションです。

于 2013-10-26T17:33:27.693 に答える