複数のテーブルに一括保存する機能を実装中に問題が発生しました。
save()を実行すると子のエンティティが保存されないのです。
SQLのログを確認すると、そもそも子エンティティへのINSERT文が発行されていませんでした。
複合主キーを用いた設計で、設計の良し悪しは十分検討しましたのでそこは問題ないです。
とりあえず、userとprofileを同時に保存する機能を作成していました。
以下のソースコードで実行すると、userだけ保存されてしまい、profileは保存されないのです。エラーは特にありません。saveOrFail()でもcatchできませんでした。
debugの出力を見るとアソシエーションが設定されているのは確認できました。
save()する直前でデータセットがエンティティに入っていることは確認しました。
関連テーブルを同時にbakeすると自動で追加されますが後から追加した場合は手動で設定する必要が有ります。