ブルーノ・ミゲル:
私はJhipsterで働いています。私は遅延しお客様を取得することができませんよ。
私はそうのようなJDLをしました...
PROPERTY
id
...
CUSTOMER
id
...
CUSTOMER_PROPERTY
id
customer_id
property_id
value
relationship OneToMany {
Customer to CustomerProperty
}
relationship ManyToOne {
CustomerProperty to Property
}
マイドメイン
Customer.java
@OneToMany(mappedBy = "customer", fetch = FetchType.LAZY)
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
private Set<CustomerProperty> customerProperties = new HashSet<>();
Property.javaマッピングしていません
CustomerProperty.java
@ManyToOne
private Property property;
@ManyToOne
@JsonIgnoreProperties("customerProperties")
private Customer customer;
私はすでにフェッチ= FetchType.LAZY明示的に設定しようとしているが、それはすべてのCustomerPropertiesリストとの完全な完全なCustomerオブジェクトをもたらし続けています
私はそれが働いていないの取得理由を理解したいと思います
Alexandarペトロフ:
コレクションは遅延ロードされたかどうデバッグ、評価のための良いメカニズムではありません。デバッガ自体が初期化をトリガすることができます。
代わりに、デバッガの使用を使用します
org.hibernate.Hibernate.isInitialized(yourCollection)
それはあなたのエンティティのロード後に初期化されているかどうかを確認します。
このメソッドの戻り値のfalseの場合しかし、あなたは(どこかに)可能、後続の呼び出しでエラーを検索する必要があり、初期化後の時点でコレクションがあることをあなたはまだ疑わしいです。