私が関係マスタースレーブを持っているとしましょう。データベースには、テーブル Master に id=1 の行が 1 つ存在します。この次のコードが機能する理由:
Slave slave = new Slave();
slave.setId(1L);
Master master = new Master();
master.setId(1L);
slave.setMaster(master);
em.persist(slave);
したがって、マスターは切り離されたエンティティであり、コミット後にスレーブとマスターの間の参照が作成されます。なんで?場合によっては、「検索」機能によってデータベースからマスター行を読み取る必要があると思いました。詳細はどこで確認できますか?