DDL スクリプトを実行して、データベースに完全な国テーブルをセットアップしました。国テーブルの主キー列には、すべての国に対応する ISO コードが含まれています。
私の JPA プロジェクトには、埋め込まれた Address エンティティを持つ User エンティティがあり、この Address エンティティには Country への参照があります。User と Address の関係は問題ないように思えますが、Address と Country の関係が問題です。多くのアドレスが国を共有できるため、これを ManyToOne 関係としてマッピングしようとしました。
問題: Country クラスの iso メンバー変数に Id で注釈を付けました -> JPA/Hibernate は、国の ID を手動で設定していないと文句を言います。ただし、この場合、データを一度インポートし、ISO コードが一意であり、db スキーマによって主キーとして宣言されているため、ID は既に指定および設定されています。この特殊なケースでは、国テーブルに更新や挿入を行う必要はありません。情報は読み取り専用にする必要があります。
何をすべきか、変更せずに国テーブルを使用できるようにするにはどうすればよいですか?