Как обрабатывать повторяющиеся/повторяющиеся события в Spring Boot JPA

#postgresql #spring-boot #jpa #spring-data-jpa #spring-data

Вопрос:

У меня есть приложение, в котором я вычисляю общее путешествие между разными пользователями. Затем предполагается совместное путешествие (как, например, в blablacar).

В моем приложении я сохраняю путешествие пользователя между двумя расстояниями. Я просто сравниваю несколько путешествий pointA и pointB нахожу, какие путешествия являются общими.

Это базовая структура моего ответственного подразделения.

 @Data
@Entity
@Table(name = "PJ_JOURNEY")
public class Journey {

   @Id
   private UUID id;

   @CreationTimestamp
   private Timestamp creationDate;

   @OneToOne
   private Point pointA;

   @OneToOne
   private Point pointB;

   // Getters amp; Setters amp; Others...
}
 

Теперь я должен сравнить также использование времени в каждой из этих точек. Полное требование состоит в том, чтобы иметь возможность напрямую сохранять событие повторяющегося путешествия в базе данных (например, чтобы можно было зарегистрировать, что он путешествует только каждый понедельник, вторник и среду).

Я обновил структуру timeAtA и timeAtB узнал, когда пользователь в своем путешествии покинет точку А и прибудет в точку Б, а также добавил набор дней, чтобы узнать, в какой день произойдет событие путешествия:

 
   @CreationTimestamp
   private Timestamp timeAtA;

   @CreationTimestamp
   private Timestamp timeAtB;

   @ElementCollection(targetClass = TravelRepetitionDays::class)
   @CollectionTable(name="repetition_days")
   @Enumerated(EnumType.STRING)
   @Column(name="day")
   private Set<TravelRepetitionDays> days;
 

Проблема: Как выполнить поиск с помощью SQL и JPA, используя дни и время в каждой точке.

Спасибо!

Комментарии:

1. Вопрос мне недостаточно ясен, так что я не могу помочь

2. Я обновил вопрос, и теперь должно быть достаточно объяснений

3. В чем, собственно, проблема? Какой запрос вы пытаетесь создать? Что вы пробовали до сих пор?