相互に参照する 2 つの JPA2 エンティティ クラスがあります。
class Person {
int id;
String name;
@ManyToOne(fetch = FetchType.LAZY)
Company company;
}
class Company{
int id;
String name;
@ManyToOne(fetch = FetchType.LAZY)
Person representative;
}
このデータを持つ:
Company company1 = Company(1,"Company1", 2)
Company company2 = Company(2,"Company2", 1)
Person person1 = Person (1,"Person1", 1)
Person person2 = Person (2,"Person2", 2)
person2 は company2 で働いており、その代表者は person1 であり、その代表者は company1 で働いており、その代表者は再び person2 です。
Dozer はこのモデルを DTO (CompanyDTO および PersonDTO) にコピーできることを知っています。私のテストでは、それらは機能し、無限レベルの再帰があります。これは、Dozer がインスタンス化された同じオブジェクトを DTO の参照として使用するためだと理解しています。
私の質問は、何百もの企業を代表する何千人もの人がいるとしたら、PersonDTO インスタンスのグラフが大きすぎて処理できないのではないでしょうか? この状況に何らかの制限を指定するにはどうすればよいですか?