@Id 注釈は、主キーへのマッピングを定義するための最も簡単な手段です。
10 進データの表示には浮動小数点型 (float と double、およびそれらのラッパー・クラス) を使用しないことをお勧めします。丸め誤差が生じて、等号演算の結果が信頼性を欠くものになる可能性があるためです。 代わりに、BigDecimal を使用してください。
@Id 注釈は、自然主キーが使用可能な場合、またはデータベース設計者が、記述値のない、データベース内のどのアプリケーション・データからも派生しない代理主キー (一般的には整数) を使用する場合に、適しています。 一方、複合キーは、対応するデータベース表の主キーが複数列で構成されている場合に役立ちます。複合キーは、@IdClass 注釈または @EmbeddedId 注釈によって定義できます。