1 対多の関係を持つ親エンティティと子エンティティがあります。
@DataJpaTest を使用する場合 (つまり、メモリ内データベースを構成する場合)、次のように動作します。
LOG.info("Creating stops");
Stop stop1 = new Stop(new Time(0), "Acton Town", new HashSet<>());
Set<Stop> stops = new HashSet<>();
stops.add(stop1);
LOG.info("Creating and persisting routes");
Route route = routeRepository.save(new Route("something", "return"));
LOG.info("Adding stops to route");
stops.forEach(route::addStop);
ルートと各子が正しく挿入され、後でルートを取得して同じ情報を取得できます。
ただし、実際のデータソース (ローカルの MySQL DB) を使用しているときにサービスでこれを繰り返すと、CASCADE.ALL の永続化は発生していないようで、停止の挿入は行われませんが、ルートは永続化され、割り当てられます。 ID。
双方向の関係を構成した親で「addEntity」メソッドを使用して、サイト全体のアドバイスに従いましたが、テスト スイートの外では機能しません。
これがなぜなのか誰か知っていますか?