Witajcie,
Mam taką asocjajce ManyToMany:
@Entity
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE, region="clases.question")
@Table(name = "QUESTIONS")
@SequenceGenerator(name="PK",sequenceName="GEN_QUESTIONS_ID",allocationSize=1)
public class Question implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="PK")
@Column(name = "ID")
private int id;
@Version
@Column(name = "VERSION")
private int version;
@Column(name = "DESCRIPTION")
private String description;
@Column(name = "ACTIVE")
boolean active;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name="QUESTIONS_AREAS",
joinColumns={@JoinColumn(name="QUESTIONS_ID")},
inverseJoinColumns={@JoinColumn(name="AREAs_ID")})
private Set<Area> areas = new HashSet<Area>(0);code>
Przy próbie wyciągnięcia HashSeta wywal mi błąd:
` failed to lazily initialize a collection of role: clases.Question.areas, could not initialize proxy - no Session`
Oczywiście jak zmienię pobieranie obiektów na: fetch = FetchType.EAGER to wszystko działa.
Ale niebardzo rozumem dlaczego nie chce działać domyśnie na lazily? Nie powinien załadowąć sobie kolekci przy próbie jej wywołania?
```java
System.out.println(q.getAreas().toString());
niezdecydowanyniezdecydowanyShalomniezdecydowanyShalomniezdecydowany