У меня есть следующая структура данных.JPA @OneToMany и @ManyToOne: обратная ссылка:
@Entity
public class Device extends AbstractEntity implements Serializable{
private int id;
//...
private List<Item> items;
@OneToMany(fetch=FetchType.EAGER)
public List<Item> getItems() {
return configurationItems;
}
}
каждый элемент содержит обратно ссылку на устройство:
class Item {
private Device;
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
public Device getDevice() {
return device;
}
}
Я могу создать устройство, добавлять элементы и сохранить все это. Я могу получить объекты из БД, и все работает, кроме ссылки на устройство, которое хранится в элементе.
И это не имеет значения, как я читаю пункты: 1. Устройство для чтения всех соответствующих пунктов 2. Прочитанные
Ссылка устройства всегда нуль. Я думаю, что что-то не так с моей аннотацией @ManyToOne.
Я использую hibernate и spring, реализуя DAO путем подкласса HibernateDaoSupport.
Вот пример кода, который извлекает все элементы:
getHibernateTemplate().loadAll(Item.class)
Большое спасибо. Я верю, что это сработает. – AlexR