Mysql JPA从视图中选择
我试图从MySQL中定义的视图中选择实体,但我总是得到一个错误项,即“进程未映射” 如何避免这种情况 我直接在MySQL中声明视图,然后尝试在我的存储库中使用以下代码获得结果:Mysql JPA从视图中选择,mysql,jpa,view,Mysql,Jpa,View,我试图从MySQL中定义的视图中选择实体,但我总是得到一个错误项,即“进程未映射” 如何避免这种情况 我直接在MySQL中声明视图,然后尝试在我的存储库中使用以下代码获得结果: @Query("SELECT i FROM Item i WHERE id IN (SELECT item_id FROM item_to_process)") List<Item> findItemToProcess(); 创建新实体并将其映射到数据库视图。在JPQL中使用该实体。这是一个
@Query("SELECT i FROM Item i WHERE id IN (SELECT item_id FROM item_to_process)")
List<Item> findItemToProcess();
创建新实体并将其映射到数据库视图。在JPQL中使用该实体。这是一个JPQL查询。JPQL不是SQL。它不使用表、视图和列名。从不始终显示实体名称及其持久性属性。基本上,你在java程序中尝试使用C++语法。这些是不同的语言。是的,我知道这一点,但有没有办法映射JPQL和SQL?同样,JPQL与实体一起工作。因此,如果希望使用JPQL访问视图,则需要通过实体映射视图。如果您不想使用SQL,请使用SQL,而不是JPQL。有没有办法在JPQL中声明SQL视图?或者类似的……不。正如我所说,JPQL与实体一起工作。总是从不查看,表和列名。我想避免这样做,但我结束了,因为它似乎是唯一一个。。。