我正在使用 JPA eclipse 与 spring 链接来根据字符串在数据库中查找数据。我实现了一个方法

@Transactional 
    public String authorization(LL l){ 
        Query query = m.createNativeQuery("SELECT a FROM user a WHERE a.name = ?"); 
        query.setParameter(1, l.getName()); 
        UserEntity tmp = (UserEntity) query.getSingleResult(); 
} 

我的数据库很简单

id | name | password  

但是,通过执行此操作,我收到错误

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'a' in 'field list'

我已阅读文档,这应该是执行此类查询的正确方法。为什么会抛出上述错误?我是否犯了错误或者我忽略了什么?

感谢所有帮助。

请您参考如下方法:

您似乎期望得到一个实体作为结果,因此而不是 native 查询:

m.createNativeQuery 

使用

m.createQuery 

更新

如果您需要使用 native 查询,您应该添加预期的结果类:

Query query = m.createNativeQuery("SELECT a.* FROM user a WHERE a.name = ?", UserEntity.class); 


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!