Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。b;}となりますが、A,Bのselect時は問題ないのですが、Cをセレクトしたときにエラーが発生します。Source)unique_idフィールドにLongを入れようとしているようですがなぜでしょうか?なお、Repositoryクラスの肥大化を懸念し、@Query()アノテーションでの結合を避けたく、また、N+1問題の回避のため、遅延fetchも考えていません。b;を利用してエンティティBをfetchする際は、Bエンティティがフィールドc(に対応するカラムc_unique_id)に持っているCのPK(@Idアノテーションが付いているフィールド)をキーとして利用しようとします。イメージとしては次のようなSQLでしょうか。c.id);c.idはLongなのにb.c_unique_idはそうじゃない、というエラーですね。以下にも同様の質問がありました。Overflow今回の場合なのですが、Cのidが不要ですね。少なくとも@Idを付与する意味が無いです。uniqueIdが名前の通りユニークでかつnullable=falseなのであれば、こちらに@Idを付けることで今回のクエリはJPA的には想定通り実行されると思います。(ただ実際には、idフィールドを用意して@Idを付けているのはそれなりの理由があると思いますので、そちらとの兼ね合いも検討する必要があるかと。一点、別解があったようなので記載させていただきます。単方向結合のみでよい場合、結合される側に@OneToOneなどのディメンションリレーションシップアノテーションおよび、@JoinColumnは不要なようです。以下、質問内容の定義での例です。Cをセレクト時はZ及びBの結合はしないものとします。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。