Java JPA получить подробную информацию от таблицы родителей, детей и внуков ⇐ JAVA

Программисты JAVA общаются здесь
Anonymous
Java JPA получить подробную информацию от таблицы родителей, детей и внуков

Сообщение Anonymous »

У меня есть три таблицы
Пример
Table1 -> Car
Table2 -> Brand
Table3 -> Parameters
Table 3 -> Model

Автомобиль имеет связь «один ко многим» с маркой и параметрами
Марка имеет связь «один ко многим» с моделью

@NamedEntityGraph(
name = "graph-a",
attributeNodes = {
@NamedAttributeNode("brand"),
@NamedAttributeNode("parameters")
}
)

@Data
@Entity
@Table(name = "CAR")
public class CAR {
@Id
private long carId;

private String name;

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "car")
private Set
brands;

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "car")
private Set
params = new HashSet();

}


@NamedEntityGraph(
name = "graph-with-children",
attributeNodes = {
@NamedAttributeNode("models"),
}
)
@Data
@Entity
@Table(name = "BRAND")
public class BRAND {

@EmbeddedId
private BRANDID id;

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "brands")
private Set models;

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "CAR_ID", insertable = false, updatable = false)
private Car car;
}

@Data
@Entity
@Table(name = "MODEL")
public class MODEL {

@EmbeddedId
private ModelId id;

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumns({
@JoinColumn(name = "BRAND_ID", referencedColumnName = "BRAND_ID", insertable = false, updatable = false),
@JoinColumn(name = "CAR_ID", referencedColumnName = "CAR_ID", insertable = false, updatable = false)
})
private BRAND brands;
}

И мой метод репозитория:
@Override
@EntityGraph(value = "graph-a")
Optional findById(Long carId);

Когда я запускаю этот код, я могу получить сведения об автомобиле, сведения о марке, но не сведения о модели
Когда я запускаю Brand.getModels( ) выдает исключение
Unable to evaluate the expression Method threw 'org.hibernate.LazyInitializationException'
exception.


Подробнее здесь: https://stackoverflow.com/questions/791 ... hild-table

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