如何修复 org.hibernate.hql.internal.ast.QuerySyntax

我正在尝试获取 User 对象,该对象除了用户名和密码外,还有一个布尔变量,表明它是否已被删除。布尔变量称为删除。在我的数据库中,所有用户实体都是假的。


我尝试了 ClassicalSyntax 但它给出了另一个错误。


public User loginUser(String username, String password) {

        TypedQuery<User> query = em.createQuery("Select u from User u " + "where u.username LIKE "

                + "?1 AND u.password LIKE " + "?2 AND u.delete =:delete", User.class);

        query.setParameter(1, username);

        query.setParameter(2, password);

        query.setParameter("delete", false);

        User foundUser = query.getSingleResult();

        return foundUser;


    }

它与其他两个 u 定义 u.username 和 u.password 一起使用,但是当我添加 u.delete 时它给了我这个错误。我希望它返回对象。


冉冉说
浏览 133回答 2
2回答

江户川乱折腾

delete不能用作属性名,请尝试重命名?

慕姐8265434

另一种选择是在实体类中将其转义:&nbsp;@Column(name = "\"delete\"")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java