Hirdetés

Új hozzászólás Aktív témák

  • mobal
    nagyúr

    nem. Az ugyan azt írja 20x, ahogy szokta, hogy nem talál megfelelő osztályt a szerializáláshoz (mert nincs is olyan félig összeszedett entity), de amúgy a json serializációig minden rendben, előtte kiíratom a visszaadott objektumot, onnan is látom, hogy spamet rak bele.

    Nagyon furán működik ez a spring data.

    pl van 2 entity, 1-1 kapcsolattal. Kellene nekem a "gyerek" összes infoja, a szülő id-ja alapján.
    @Query("SELECT p FROM UserProperties p INNER JOIN User u ON u.userProperties = p.id WHERE u.id=?1")
    @Query("SELECT u.userProperties FROM User u WHERE u.id=?1")
    2 queryt eredményez mindkettő, ahol összejoinolja ahogy az első queryben van, majd még egy query ahol a User-t lekérdezi ugyan olyan where-el... tehát 2x megcsinálja ugyan azt. Akár lazy, akár eager a kapcsolat. Akkor is megcsinálja, a user repository findbyid-t nyomok.

    Ok hogy id alapján történik minden, ami szinte ingyen van, de na... Tényleg csak natív queryvel lehet beleverni, hogy egy queryvel megcsinálja ezt? Vagy a spring show sql nem azt írja ki ami tényleg történik? Vagy el van cseszve a H2 driver?

    Ezt meg kéne tudni csinálni szerintem nativ query nélkül is. Régen csináltam hasonlót:

    Optional<Deck> findByIdAndGame_Id(int id, int gameId);

    A deck entity-nek pedig volt egy ilyen tulajdonsága:

    @OneToOne
    @JoinTable(
    name = "games_decks",
    joinColumns = @JoinColumn(name = "deck_id"),
    inverseJoinColumns = @JoinColumn(name = "game_id")
    )
    @JsonIgnore
    private Game game;

Új hozzászólás Aktív témák