Java 面临查询错误为“的问题”;HSQL数据库:意外标记:结束于语句“;

Java 面临查询错误为“的问题”;HSQL数据库:意外标记:结束于语句“;,java,jira,active-objects,Java,Jira,Active Objects,我创建了一个activeobject查询,如下所示: ao.find(IP.class, Query.select().where("user=? AND start>=? AND end<=?",u,datefieldl,datefieldl)) IP pi = ao.executeInTransaction(new TransactionCallback() // (1) { @Override pub

我创建了一个activeobject查询,如下所示:

ao.find(IP.class, Query.select().where("user=? AND start>=? AND end<=?",u,datefieldl,datefieldl))
 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);
}
我的实体如下所示:

ao.find(IP.class, Query.select().where("user=? AND start>=? AND end<=?",u,datefieldl,datefieldl))
 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);
}
有什么想法吗

意外标记:END in语句

看看你的情况:

"user=? AND start>=? AND end<=?"

这里的问题是,当生成最终SQL查询时,它的语法无效。这就是为什么会出现异常。

如果我删除最后一个参数-“endI hve updated start and end with-“planStartTime”和“planndtime”。现在,我的实体如下:@Preload public interface IP extensed entity{Date getplanstartime();void setplanstartime(Date planstartime);Date getPlanEndTime();void setPlanEndTime(Date planEndTime);String getUser();void setUser(String user);}执行查询时,它会给我列未找到错误-“列未找到:语句中的PLANSTARTTIME”[从PUBLIC.AO_0371A8_IP中选择*其中用户=?和计划开始时间>=?和planEndTime@Dhaval您是如何注释这些列的?另外,您是否重新生成了架构或自己更新了列名?数据库表必须使用以前的列名(由提供商或您生成)而过时这就是它找不到新属性的原因。我刚刚将实体接口的属性重命名为“getStart()”为“getPlanStartTime()”,“setStart()”为“SetPlantTime()”,而“end”也是如此。以及我创建实体并使用的rest服务中的相关更改。实际上,我通过以下内容创建了此表:我已更新原始问题以包含创建查询内容。检索到的对象的属性如下-“@xmltribute private Date planStartTime;@xmltribute private Date planndtime;”我已经通过添加注释属性更新了实体字段——如上面更新的原始注释所示的访问器和变异器。实际上,保存和“检索所有”方法都可以正常工作。但是这个查询给我的错误是“未找到列:语句中的PLANSTARTTIME”[从PUBLIC.AO_0371A8_IP中选择*其中用户=?和计划开始时间>=?以及计划开始时间