我正在与 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;我已经尝试显式设置 fetch = FetchType.LAZY 但它不断将完整的 Customer 对象与所有 CustomerProperties List我想了解为什么 fetch 不起作用
1 回答
莫回无
TA贡献1865条经验 获得超7个赞
如果一个集合是否被延迟加载,调试不是一个好的评估机制。调试器本身可能会触发初始化。
而不是使用调试器使用
org.hibernate.Hibernate.isInitialized(yourCollection)
在加载实体后验证它是否已初始化。
如果此方法返回 false 但您仍然怀疑稍后会初始化集合,您应该在可能的后续调用(其他地方)中搜索错误。
添加回答
举报
0/150
提交
取消