Hello!!!
I have working application and want to optimize it. The code is:
Code:
@Entity
public class ComplaintModel {
//code
@Embedded
private ComplaintOrder complaintOrder;
}
@Embeddable
public class ComplaintOrder {
@OneToMany(cascade = CascadeType.ALL, mappedBy = "complaint")
@JoinColumn(name = "COMPLAINT_ID", referencedColumnName = "COMPLAINT_ID")
@Cascade( { org.hibernate.annotations.CascadeType.MERGE,
org.hibernate.annotations.CascadeType.SAVE_UPDATE,
org.hibernate.annotations.CascadeType.DELETE_ORPHAN })
private Set<CompliantLot> compliantLots = new HashSet<CompliantLot>();
}
@Entity
public class CompliantLot extends BaseEntity {
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
@JoinColumn(name = "COMPLAINT_ID", referencedColumnName = "COMPLAINT_ID", nullable = false)
private ComplaintModel complaint;
}
So, as you see Ebmeddable object ComplaintOrder contains a collection of entities CompliantLot. For now, when I try to get ComplaintModel from database I'm getting additional SQL query for noted collection. I tried difefrent fetch modes, added fetch as annotations and in criterions (even tried Aliases) - no luck. Hibernate fetches it only by additional queries.
Maybe mapping is wrong? Or I do smth. completelly wrong?