

JPA načítání seznamů přes pohled, vysvětlení.
Ahoj, chtěl jsem se zeptat ohledně načítání dat v JPA.
Mám 2 třídy:
Uživatel:
@Entity
@Table(name = DomainConstant.TABLE_USER)
public class User implements Serializable {
@Id
@Column(name = DomainConstant.DOMAIN_USER_ID)
@GeneratedValue
private Long userId;
@ManyToMany(cascade = {CascadeType.ALL})
@JoinTable(name = DomainConstant.VIEW_USER_BATTLE_LOGS, joinColumns = {
@JoinColumn(name = DomainConstant.DOMAIN_USER_ID)}, inverseJoinColumns = {
@JoinColumn(name = DomainConstant.DOMAIN_BATTLE_REPORT_ID)})
private Set<BattleReportILogItem> setOfBattleLogs = new HashSet<>();
....(other stuff, get and set methods...)
Válečný report:
@Entity
@Table(name = DomainConstant.TABLE_BATTLE_REPORT)
public class BattleReportILogItem implements Serializable {
@Id
@GeneratedValue
@Column(name = DomainConstant.DOMAIN_BATTLE_REPORT_ID)
private Long BattleReportILogItemId;
@ManyToMany(mappedBy = "setOfBattleLogs")
private Set<User> setOfBattleLogs = new HashSet<>();
....(other stuff, get and set methods...)
Jde o to, že uživatel má množinu válečných reportů. Ty si načítám přes dao.
Má otázka zní, když načtu uživatele, načte si do paměti své reporty? Tedy -
private Set<BattleReportILogItem> setOfBattleLogs = new HashSet<>();
Ale to já nechci... Jak to obejít? Nebo jak na to?
Kdyz tam das FetchType.LAZY, tak se ta kolekce naplni az kdyz s ni zacnes pracovat, kdyz FetchType.EAGER nahraje se hned.
Díky, tím se to vysvětluje.