У меня есть 2 объекта. Entity nr.1 содержит несколько полей и некоторые коллекции, сопоставленные с одним из многих LAZY, а сущность nr.2 имеет отношение OneToOne к этому.Hibernate OneToOne для лица с OneToMany
Когда я хочу получить объект nr.2, все онтоманы в сущности nr. 1 также извлекаются, даже если они ЛАЗИ. Я не говорю о методе, просто получая один объект nr.2 и объект nr.1 без его коллекций.
Спасибо
примеры кода:
Это объект №. 2, который содержит отн OneToOne для объекта nr.2, который указан так:
@OneToOne
@JoinColumn(name="id_employee")
public Employee getEmployee() {
return employee;
}
public void setEmployee(Employee employee) {
this.employee = employee;
}
И это сущность nr.1, которая имеет много коллекций, как так:
@OneToMany(cascade = CascadeType.ALL, mappedBy="employee", orphanRemoval = true)
@JsonManagedReference
@XmlElement
public Set<Phone> getPhone() {
return phone;
}
public void setPhone(Set<Phone> phone) {
this.phone = phone;
}
Ant Сотрудник имеет много коллекций , включая адрес и т. д., которые я не хочу показывать. Когда я возвращаю объект nr. 2, он показывает мне Employee со всеми его rels, и мне это не нужно. Это также дает мне знаменитый LazyInitexcepetion, хотя я не explicitily адрес запроса или телефон ...
Вы можете поделиться своим кодом – Gokul
Я поделился им, спасибо – ChrisTheDestroyer
, когда вы сказали «return nr.2», вы имеете в виду, что вы не хотите, чтобы он отображался/представлялся как xml или json? (я предполагаю, что вы показываете его как конечную точку отдыха, так как у вас есть аннотации xml и json). если это так, то почему бы не добавить аннотации XmlTransient и JsonIgnore в ваш getEmployee? – geneqew