Spring data jpa + объединяет 2 таблицы

1

У меня есть 2 класса сущностей Product и ProductAltID без сопоставления @OnetoMany между ними.

Я хочу сделать что-то подобное

select p from ProductAltid inner join Product pai
where p.id = pai.id

Как я могу это достичь?

Теги:
spring
jpa
spring-data-jpa
spring-data

1 ответ

0
Лучший ответ

Добавьте этот метод в репозиторий ProductAltId (выбирая тот, потому что запрос возвращает ProductAltIds):

@Query("select pai from ProductAltId as pai " 
+ "where pai.id in (select p.id from Product as p)")
List<ProductAltId> findForAllProducts();

Я переключил псевдонимы вокруг, они кажутся обратными в вашем примере.

  • 0
    это возвращает мне всю вещь ... но если я делаю '@ Query ("выберите pai из ProductAltId как pai, где pai.itemCode =? 1" + ", где pai.id в (выберите p.id из Product как p) «List <ProductAltId> findForAllProducts ()», который создает класс org.springframework.dao InvalidDataAccessApiUsageException
  • 0
    @ user3439560: не знаю. кажется, есть много вещей, которые могут вызвать это. исправил пропавшую пареню в аннотации, кстати.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню