Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

LazyInitializationException или как правильно написать @Query

Mykola Shymechko Ученик (74), на голосовании 7 лет назад
у меня есть 2 сутности

Первая сутность это главная компания
@Entity
public class Company {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;

private String name;
private int value;

@OneToMany(mappedBy = "company")
private List companies = new ArrayList();
}
Вторая сутность это дочерние компании главной компании

@Entity
public class ChildCompany {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
private String childName;
private int childValue;
@ManyToOne(fetch = FetchType.LAZY)
private Company company;

public ChildCompany(){

}
}
И я хочу вывести на экран головные компании с их дочерними компаниями



${com.name}, ${com.value}

${a.company}

delete
update





То есть выглядеть это должно так

Volkswagen: (главная компания)
-porshe (дочерная компания)
- audi (дочерная компания)
- seat (дочерная компания)

Toyota:(главная компания)
- lexus(дочерная компания)
- subaru(дочерная компания)

естественно мне выбивает ошибку LazyInitializationException так у меня не написана кверя (@Query)

вернее написана но неправильно

@Query("select d from Company d left join fetch d.companies ")
Company companyWithChildCompany();

Подскажите как написать ее правильно
Дополнен 7 лет назад
<%----%>
<%----%>
<%--${com.name}, ${com.value}--%>
<%----%>
<%--${a.company}--%>
<%----%>
<%-- delete --%>
<%-- update --%>
<%----%>

<%----%>

<%----%>
Голосование за лучший ответ
Похожие вопросы