Postgresql- Hibernate查询语法异常:org.hibernate.hql.ast.QuerySyntaxException:附近的意外令牌

时间:2018-10-09 09:37:41

标签: java postgresql hibernate jpa postgresql-9.5

我正在使用带有休眠功能的Postgresql。 private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { CIniReader iniReader(".\\Config.ini"); char* szIp = iniReader.ReadString("ServerSettings", "Ip", ""); char* szPort = iniReader.ReadString("ServerSettings", "Port", ""); //String^ constring = L"datasource=111.111.111.111;port=2222;username=MYSQLnameroot;password=MySQLpassword;SslMode=none"; String^ constring = (L"datasource=", szIp, L";", L"port=", szPort, L";", L"username=MYSQLnameroot;password=MySQLpassword;SslMode=none"); MySqlConnection^ conDataBase = gcnew MySqlConnection(constring); MySqlCommand^ cmdDataBase = gcnew MySqlCommand("SELECT * FROM Schema1.User_account where Name='" + this->textBox1->Text + "' and Password=MD5('" + this->textBox2->Text + "');", conDataBase); MySqlDataReader^ myReader; 工作正常,但now()在UTC时区抛出错误。

版本:Postgresql9.5。 相同的sql查询在pgAdmin中可以正常工作。

now()
  

java.lang.IllegalArgumentException:   org.hibernate.hql.internal.ast.QuerySyntaxException:意外令牌:   在第1行附近的第167列[SELECT FROM   com.hp.jampub.db.entity.XspJob请求WHERE a.xspJobTypeId =   :xspJobTypeId AND a.xspJobStatusId =:xspJobStatusId AND   a.nextAttemptTs <(在时区“ utc”处选择now())   a.insertTs]

1 个答案:

答案 0 :(得分:0)

比利·弗罗斯特(Billy Frost)的评论正确。 您可以创建新的Date参数,而不使用now() at time zone 'utc'