Avoid LazyInitializationException accessing template's labels

This exception happened after saving and continuing due to labels not
being in the session.

ERROR org.hibernate.LazyInitializationException  - failed to lazily initialize a collection of role: org.navalplanner.business.templates.entities.OrderElementTemplate.labels, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: org.navalplanner.business.templates.entities.OrderElementTemplate.labels, no session or session was closed

FEA: ItEr68S04BugFixing
This commit is contained in:
Óscar González Fernández 2011-01-10 16:35:57 +01:00
parent d4eefef0c6
commit 3bf7f075a7

View file

@ -185,6 +185,7 @@ public class OrderTemplatesModel implements IOrderTemplatesModel {
private void loadAssociatedData(OrderElementTemplate template) {
loadAdvanceAssignments(template);
loadQualityForms(template);
loadLabels(template);
loadCriterionRequirements(template);
getOrderElementsOnConversation().initialize(template);
}
@ -221,6 +222,16 @@ public class OrderTemplatesModel implements IOrderTemplatesModel {
}
}
private void loadLabels(OrderElementTemplate template) {
for (Label each : template.getLabels()) {
each.getName();
}
for (OrderElementTemplate each : template.getChildrenTemplates()) {
loadLabels(each);
}
}
private void loadAdvanceAssignments(OrderElementTemplate template) {
for (AdvanceAssignmentTemplate each : template
.getAdvanceAssignmentTemplates()) {