我试图检查该建筑物中的房间名称是否存在。如果存在,则不保存,否则将数据保存到表中。因此,我编写了此查询。
@Query(value = "select exists(select name,building from meetingroom " +
"where building=?1 and name=?2)",nativeQuery = true)
Boolean existsByRoom(String building,String name);
现在它显示BigInteger不能被转换为类java.lang.Boolean。有没有什么方法可以解决这个问题而不影响或改变查询。
2条答案
按热度按时间q3aa05251#
这里最简单的解决方案是使用JPA派生查询。
pqwbnv8z2#
一个解决方案是使用
java.util.Optional
,如下所示。您需要使用BigInteger而不是Boolean,因为当记录存在时,查询将返回BigInteger值。在服务层中,您可以检查该值是否存在。