Вот мой пример использования:
public class User extends Model {}
public class TableA extends Model {
@OneToMany
public List<TableB> tableBs;
@ManyToOne
public AnObject anObject;
}
public class TableB extends Model {
@ManyToOne
public TableA tableA;
@ManyToOne
public User user;
public String status;
}
Пользователь получает список записей TableA на основе экземпляра AnObject. Я хотел бы показать этому пользователю, является ли TableA новым или нет.
(обратите внимание, что TableB действует как таблица n: n для пользователя и TableA, я не могу интегрировать ее в TableA)
Чтобы сказать, является ли это новым, это зависит от TableB. Для этого у меня есть два варианта:
- Либо создаю TableB, когда я создаю TableA, но со статусом NEW или Нет
- Или не создавать TableB для этого пользователя. Если для этого пользователя отсутствует ссылка, значит, она новая. (делая это, я мог бы удалить статус столбца)
(действия зависят от «нового», это не просто ярлык для отображения).
Теперь, в моем запросе JPA, как я могу указать, является ли для этого члена запись в TableA новой или нет?
Простым способом было бы получить список TableA, а затем пройти по списку, чтобы проверить, есть ли в нем пользователь (метод, такой как isUserInTableB(User user)
)
Но возможно ли это сделать с помощью JPA, например, имея только один элемент в списке, который будет пользователем или пустым, если этот пользователь не связан?
(Надеюсь, мне ясно, это не так уж много в моей голове: /)
Большое спасибо за помощь, я ценю!