Пользовательское объединение в сопоставлении @OneToMany или @ManyToMany без таблицы соединений [дубликат]JAVA

Программисты JAVA общаются здесь
Anonymous
Пользовательское объединение в сопоставлении @OneToMany или @ManyToMany без таблицы соединений [дубликат]

Сообщение Anonymous »

Я пытаюсь определить пользовательское условие соединения между двумя следующими объектами.

Код: Выделить всё

class Period {
private long id;
private String category;
private Date start;
private Date end;

@ManyToMany
private Collection events
}

class Event {
private long id;
private String category;
private Date date;
}
Я хочу получить в периоде все события, имеющие одну и ту же категорию и дату в начале и end (В некоторых случаях связь фактически представляет собой @OneToMany, поскольку никакие два периода с одной и той же категорией не перекрываются, а любое рабочее решение с @OneToMany или @ManyToMany меня бы устроило). В sql соединение простое:

Код: Выделить всё

select *
from period p
join event e on p.category = e.category
and e.date >= p.start
and e.date 

Подробнее здесь: [url]https://stackoverflow.com/questions/79077540/custom-join-in-a-onetomany-or-manytomany-mapping-without-join-table[/url]

Вернуться в «JAVA»