перебор списка в запросе jpql - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь получить данные из базы данных mysql с помощью jpql. Запрос sql (который работает) выглядит так:

select akh.invested, akh.datum, akh.stop_loss, akh.take_profit, t.name, p.preis from aktienhandel akh inner join  titel t on akh.titel_id_titel=t.id_titel inner join preis p on akh.datum=p.valid_from inner join titel_preis tp on tp.titel_id_titel=t.id_titel and tp.preis_id_preis=p.id_preis;

Мои java классы для этой операции выглядят так:

@Entity
public class Aktienhandel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idAktienhandel;

private Long units;
private int invested;
private int transaktionskosten;
private Date datum;
private int stop_loss;
private int take_profit;

//foreignkeys
@ManyToOne
private Titel titel;

---------

@Entity
public class Preis {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idPreis;

private double preis;
private Date valid_from;
private Date valid_until;

----------
@Entity
public class Titel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long idTitel;

private String name;
private int valor;
private String symbol;
private String currency;

@OneToMany(cascade = CascadeType.ALL)
private List<Preis> preis;

Я пытался создать этот JPQL -Запрос в моем репозитории, но мне не удалось сравнить последние значения (inner join titel_preis tp on tp.titel_id_titel=t.id_titel and tp.preis_id_preis=p.id_preis)

Я попытался присоединиться к List<Preis> preis из Titel, но это не сработало, как ожидалось:

@Query("SELECT akh from Aktienhandel akh INNER JOIN Titel t on akh.titel=t.idTitel INNER JOIN Preis p on akh.datum=p.valid_from INNER JOIN t.preis tp ON tp.idPreis=p.idPreis")
List<Aktienhandel> getDetailsfromAktienhandel();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...