我创建了一个activeobject查询,如下所示:
ao.find(IP.class, Query.select().where("user=? AND start>=? AND end<=?",u,datefieldl,datefieldl))但它给了我以下的错误:
Active Objects库引发了一个SQL异常:数据库:- name:HSQL数据库引擎-版本:1.8.0-次要版本:8-主要版本:-名称:-名称:HSQL数据库引擎驱动程序-版本:1.8.0 java.sql.SQLException:意外令牌:结束语句选择*从PUBLIC.AO_0371A8_IP user=?start>=呢?end<=呢?
创建实体的内容如下:
IP pi = ao.executeInTransaction(new TransactionCallback() // (1)
{
@Override
public IP doInTransaction()
{
logger.info("before ao.create");
IP pi = ao.create(enclass);
....
pi.save();
return pi;
}
});我的实体如下:
@Table("IP")
@Preload
public interface IP extends Entity {
@Accessor("issues")
String getIssues();
@Mutator("issues")
void setIssues(String issues);
@Accessor("planStartTime")
Date getPlanStartTime();
@Mutator("planStartTime")
void setPlanStartTime(Date planStartTime);
@Accessor("planEndTime")
Date getPlanEndTime();
@Mutator("planEndTime")
void setPlanEndTime(Date planEndTime);
@Accessor("user")
String getUser();
@Mutator("user")
void setUser(String user);
}知道吗?
发布于 2013-05-02 12:31:08
意外令牌:以语句结尾
看看你的情况:
"user=? AND start>=? AND end<=?"END实际上是一个SQL关键字(遵循IF和BEGIN的行)。例如,将其改为:
"user=? AND sessionStartTime>=? AND sessionFinishTime<=?"这里的问题是,当生成最后的SQL查询时,它的语法无效。所以你才会有例外。
https://stackoverflow.com/questions/16337928
复制相似问题