Может ли подграф ссылаться на другой именованный график объекта?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Может ли подграф ссылаться на другой именованный график объекта?

Сообщение Anonymous »

Итак, я нашел несколько ответов, в которых один говорит, что это можно сделать, а другой говорит, что это не так. Этот вид запутал меня, потому что, когда я пытался это сделать - я потерпел неудачу.

Код: Выделить всё

@Entity
@Table(name = "parent")
@NamedEntityGraphs({
@NamedEntityGraph(
name = "Parent.all",
attributeNodes = {
@NamedAttributeNode(value = "child", subgraph = "Child.all"), // here I am referencing graph specified in Child entity
}
)
})
public class ParentModel {

@OneToOne(
mappedBy = "parent",
fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private ChildModel child;

}
< /code>
@Entity
@Table(name = "child")
@NamedEntityGraphs({
@NamedEntityGraph(
name = "Child.all",
attributeNodes = {
@NamedAttributeNode(value = "grandChildren"),
}
)
})
public class ChildModel {

@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "parent_id")
private ParentModel parent;

@OneToMany(
mappedBy = "child",
fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private Set grandChildren;

}

< /code>
And I want to use the Spring Data repository method:
@EntityGraph(value = "Parent.all")
List
 findAll();
< /code>
But I am still getting LazyInitializationException when I want to reference the grandChildren
как parent.child.grandchildren (примечание, как только я вручную добавляю @namedsubgraph в родительскую сущность - все работает нормально). Так можно ли сделать это, чтобы сделать код чище, а не повторить себя? Я что -то здесь упускаю?


Подробнее здесь: https://stackoverflow.com/questions/663 ... tity-graph
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»