JPARepository i zaawansowane zapytania SQL w adnotacji

0

Witajcie,
Mam 2 zależne od siebie tabele reprezentowane przez takie obiekty obiekty:
Session:

@Entity
@Table(name = "users_sessions")
public class Session {

    @Id
    @GeneratedValue
    @Column(name = "session_id")
    private Integer id;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "user_id")
    private User owner;

    @Column(length = 64, nullable = false)
    private String series;

    @OneToMany(fetch = FetchType.EAGER)
    @JoinColumn(name = "session_id")
    private List<SessionHistory> history;

    /* Gettery i settery */

}

SessionHistory:

@Entity
@Table(name = "sessions_history")
public class SessionHistory {

    @Id
    @GeneratedValue
    @Column(name = "history_id")
    private Integer id;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "session_id")
    private Session parent;

    @Column(name = "action")
    private Integer action;

    @Column(length = 64, nullable = false)
    private String token;

    private Date date;

    /* Gettery i settery */

}

Napisałem takie zapytanie do bazy:

SELECT * FROM users_sessions WHERE user_id = 8 AND session_id IN (SELECT DISTINCT session_id FROM sessions_history WHERE action != 2);

I mam problem z napisaniem go tak żeby działał z JPARepository. Kod który mam i nie działa

@Query("SELECT s FROM Session s WHERE s.owner = :owner AND s.id IN (SELECT DISTINCT session_id FROM sessions_history WHERE action != :action);")
public List<Session> findSessionsByOwnerAndLastActionNotEquals(@Param("owner") User owner, @Param("action") Integer action);

User to klasa która składa się z id i nazwy użytkownika i hasła

0

Koleś jaki błąd dostajesz ??!!

0

Twoja encja w jpqlu ma nazwe SessionsHistory a nie sessions_history

1 użytkowników online, w tym zalogowanych: 0, gości: 1