2016-01-12 2 views
3

Я использую репозиторий JPA для доступа к Mysql. У меня есть этот запрос:JPA Repository: внутреннее соединение с нулевым значением

@Query("Select s.productName, s.stock from Sell s"); 

я получаю сообщение об ошибке выполнения, потому что запас где-то пустой.
Сгенерированный SQL перевод этого запроса:

select sell0_.productName, sell0_.stock_id from T_SELL sell0_ inner join T_STOCK stock0_ on sell0_.stock_id=stock0_.id 

Есть ли способ, чтобы сделать эту работу JPA запроса, даже если stock_id равна нулю?

+0

Как вы определили отношение Sell - Stock? –

+0

в продаже: @OneToOne частный склад; – user1260928

ответ

1

Попробуйте изменить определение отношения, используя опциональную = истину:

@OneToOne(optional = true) 
private Stock stock; 

Вы даже можете изменить то, как эти данные должны быть выбраны, используя соединение, подвыбор или с другим выбором. Больше информации здесь: JPA eager fetch does not join

Смежные вопросы