Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Kdyz tam das FetchType.LAZY, tak se ta kolekce naplni az kdyz s ni zacnes pracovat, kdyz FetchType.E… nový
MaSo 27.02.2016 15:03
MaSo
Díky, tím se to vysvětluje. poslední
MašinkaTomáš 27.02.2016 15:06
MašinkaTomáš

Zpět do poradny Odpovědět na původní otázku Nahoru