Я сталкиваюсь со странным поведением, когда пытаюсь загрузить сущность, и получаю следующее исключение
org.springframework.orm.hibernate4.HibernateObjectRetrievalFailureException:
No row with the given identifier exists: [com.xxx.entity.Role#4545]
Мои спящие сущности выглядят настолько сложными, что я надеюсь, что смогу сделать их максимально простыми:
@Entity
class Employee {
@ManyToMany
private List<BB> bbList = new ArrayList<>();
}
@Entity
class BB extends CC{
}
@Entity
@Inheritance(strategy = JOINED)
abstract class CC {
@ManyToOne(optional = false)
@JoinColumn(name = "ID_XXX_DIM", nullable = false)
private Dimension dimension;
}
@Entity
class Dimension {
@ManyToMany(fetch = FetchType.EAGER)
private List<Role> roles = new ArrayList<Role>();
}
Я пытаюсь составить список Employee
объектов, используя критерии гибернации.Но это работает, только если я изменяю
@ManyToMany(fetch = FetchType.EAGER)
private List<Role> roles = new ArrayList<Role>();
на
@ManyToMany(fetch = FetchType.LAZY)
private List<Role> roles = new ArrayList<Role>();
. Можете ли вы сказать мне, почему я получаю исключение при использовании свойства eager
org.springframework.orm.hibernate4.HibernateObjectRetrievalFailureException:
No row with the given identifier exists: [com.xxx.entity.Role#4545]