gpt4 book ai didi

Java HQL org.hsqldb.HsqlException : user lacks privilege or object not found

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:23:35 25 4
gpt4 key购买 nike

我正在使用 Spring 3 和 Hibernate 3。我正在使用 DAO 设计模式并使用 HQL 来查询数据库。但是,在搜索某个字段不存在的数据时,出现以下异常:

org.hsqldb.HsqlException: user lacks privilege or object not found: ADDRESS2

我正在使用 Liquidbase 来管理创建表的数据库 XML 模式。下面是示例代码:

@Entity
@Table(name = "message")
public class Message() {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
@Column(length = 100, nullable = false)
private String address;

public Message() {

}

// getters and setters
}

DAO 使用了以下 HQL:

 getHibernateTemplate().find("FROM Message m WHERE m.address = address2");

正在设置以下属性:

jdbc.driverClassName=org.hsqldb.jdbc.JDBCDriver
jdbc.url=jdbc:hsqldb:mem:testdb'shutdown=true
jdbc.username=sa
jdbc.password=
hibernate.dialect=org.hibernate.dialect.HSQLDialect
hibernate.show_sql=true
hibernate.hbm2ddl.auto=validate

我找不到解决方案。我可以成功插入一条记录,还可以使用相同的 HQL 查询来查找具有已保存的实际值的对象,但问题在于查找不存在的值。

最佳答案

FROM Message m WHERE m.address = address2

此查询查找其 address 字段等于其 address2 字段的消息。但是消息没有 address2 字段。如果您的目的是查找其 address 字段值为“address2”的所有邮件,则查询为

FROM Message m WHERE m.address = 'address2'

关于Java HQL org.hsqldb.HsqlException : user lacks privilege or object not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25402160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com