我正在使用 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);