2016-01-12 22 views
3

我正在使用JPA存储库访问Mysql。 我有这个疑问:JPA存储库:使用空值的内部连接

@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

你是怎么定义销售 - 库存关系的? –

+0

销售:@OneToOne 私人股票股票; – user1260928

回答

1

试图改变关系的定义,使用可选=真:

@OneToOne(optional = true) 
private Stock stock; 

你甚至可以改变这个数据应该如何获取,使用连接,子查询或用不同的选择。更多的信息在这里:JPA eager fetch does not join