Closed. This question needs debugging details。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        2年前关闭。
                    
                
        

对于JPA用户,以下问题是否可行?

@Query(value = "SELECT * FROM Users u WHERE u.status = :sampleClass.status",
  nativeQuery = true)
List<SampleClass> findBySampleClass(SampleClass sampleClass);


请注意我尝试访问SampleClass批注中的@Query的方式。无法做到这一点,而是去了Criteria并构建了我的老式查询。

最佳答案

=和:之间不应有空格,因此请将查询更改为1以下。

SELECT * FROM Users u WHERE u.status =: sampleClass.status


同样作为数学名称findBySampleClass,您试图基于SampleClass查找,然后为什么只传递SampleClass的一个参数而不是对象?

请参阅this以获得更多的清晰度。

您也可以通过索引?1这样的参数来像下面一样使用。

@Query(value = "select id,name,roll_no from USER_INFO_TEST where rollNo = ?1", nativeQuery = true)
ArrayList<IUserProjection> findUserUsingRollNo(String rollNo);


请参阅:引用自Spring Data JPA reference docs

另外,请参见this section有关如何使用命名的本机查询进行操作。

09-05 15:35