@Query(value = "select m from IN_MESSAGE m where m.masterOrderNo=(select n.masterOrderNo from IN_MESSAGE n where n.orderNo=:orderNo)", nativeQuery = true)
public List<InMessageDO> findAllByOrderNo(@Param("orderNo") String orderNo);
上面的代码在我的jpa存储库中。
List<InMessageDO> inMessages = inMessageRepo.findAllByOrderNo(input.getOrderNo());
上面一行显示了我是如何在应用程序中调用jpa方法的。每当上面这一行被执行时,我就会得到一个例外。
'org.springframework.dao.invaliddataaccessresourceusageexception'异常。
谢谢您
1条答案
按热度按时间yeotifhr1#
问题是您根本没有使用本机查询。
SELECT m FROM ...
不是本机sql。你必须使用
SELECT *
或者SELECT m.*
像这样(根本没有测试,但是select m
应该是问题所在):编辑:如果你的
@Entity
被命名为InMessageDO
检查您的表名如何,因为您正在尝试读取IN_MESSAGE
table,应该是in_messagedo
或者类似的东西。此外,查询必须与db相同,而不是与对象属性名相同,因此必须查找
MASTER_ORDER_NO
而不是masterOrderNo
. 而且我支持orderNo
也有同样的问题。还有,最后一个
orderNo
不需要编辑,这是参数变量。