使用HibernateJava执行查询
我有一个问题使用HibernateJava执行查询,java,mysql,hibernate,Java,Mysql,Hibernate,我有一个问题 select userid from userinfo where DATEDIFF(ExpiryDate,curdate())<100; 从userinfo where DATEDIFF(ExpiryDate,curdate())中选择userid如果它是数据库的本机SQL方言,则必须使用: List<String> usernames = (List<String>)(getSession().createSQLQuery("yourNative
select userid from userinfo where DATEDIFF(ExpiryDate,curdate())<100;
从userinfo where DATEDIFF(ExpiryDate,curdate())中选择userid如果它是数据库的本机SQL方言,则必须使用:
List<String> usernames = (List<String>)(getSession().createSQLQuery("yourNativeSqlQuery").list());
List usernames=(List)(getSession().createSQLQuery(“yourNativeSqlQuery”).List();
如果它是数据库的本地SQL方言,则必须使用:
List<String> usernames = (List<String>)(getSession().createSQLQuery("yourNativeSqlQuery").list());
List usernames=(List)(getSession().createSQLQuery(“yourNativeSqlQuery”).List();
如果它是数据库的本地SQL方言,则必须使用:
List<String> usernames = (List<String>)(getSession().createSQLQuery("yourNativeSqlQuery").list());
List usernames=(List)(getSession().createSQLQuery(“yourNativeSqlQuery”).List();
如果它是数据库的本地SQL方言,则必须使用:
List<String> usernames = (List<String>)(getSession().createSQLQuery("yourNativeSqlQuery").list());
List usernames=(List)(getSession().createSQLQuery(“yourNativeSqlQuery”).List();
DATEDIFF
是MySQL特定的关键字,在HQL中无效
SELECT u.userid FROM userinfo u WHERE u.expiryDate BETWEEN CURRENT_DATE() AND :end_date
尝试执行上述查询并将参数end\u date
设置为(当前日期+100)。DATEDIFF
是MySQL特定的关键字,在HQL中无效
SELECT u.userid FROM userinfo u WHERE u.expiryDate BETWEEN CURRENT_DATE() AND :end_date
尝试执行上述查询并将参数end\u date
设置为(当前日期+100)。DATEDIFF
是MySQL特定的关键字,在HQL中无效
SELECT u.userid FROM userinfo u WHERE u.expiryDate BETWEEN CURRENT_DATE() AND :end_date
尝试执行上述查询并将参数end\u date
设置为(当前日期+100)。DATEDIFF
是MySQL特定的关键字,在HQL中无效
SELECT u.userid FROM userinfo u WHERE u.expiryDate BETWEEN CURRENT_DATE() AND :end_date
尝试执行上述查询并将参数end\u date
as(current\u date+100)。将DATEDIFF(ExpiryDate,current\u date)
更改为DATEDIFF(ExpiryDate,now())
works@AbhikChakraborty:没有,这是不可行的,你可以获取查询,然后直接在mysql上尝试。因为如果查询以的形式发送,请从userinfo中选择userid,其中DATEDIFF(ExpiryDate,now())<100代码>应该可以工作。@AbhikChakraborty:在mysql中,它工作正常,但在这里它没有返回任何结果更改DATEDIFF(ExpiryDate,CURRENT_DATE)
到DATEDIFF(ExpiryDate,now())
,看看这是否正确works@AbhikChakraborty:没有,这是不可行的,你可以获取查询,然后直接在mysql上尝试。因为如果查询以的形式发送,请从userinfo中选择userid,其中DATEDIFF(ExpiryDate,now())<100代码>应该可以工作。@AbhikChakraborty:在mysql中,它工作正常,但在这里它没有返回任何结果更改DATEDIFF(ExpiryDate,CURRENT_DATE)
到DATEDIFF(ExpiryDate,now())
,看看这是否正确works@AbhikChakraborty:没有,这是不可行的,你可以获取查询,然后直接在mysql上尝试。因为如果查询以的形式发送,请从userinfo中选择userid,其中DATEDIFF(ExpiryDate,now())<100代码>应该可以工作。@AbhikChakraborty:在mysql中,它工作正常,但在这里它没有返回任何结果更改DATEDIFF(ExpiryDate,CURRENT_DATE)
到DATEDIFF(ExpiryDate,now())
,看看这是否正确works@AbhikChakraborty:没有,这是不可行的,你可以获取查询,然后直接在mysql上尝试。因为如果查询以的形式发送,请从userinfo中选择userid,其中DATEDIFF(ExpiryDate,now())<100代码>它应该可以工作。@AbhikChakraborty:在mysql中,它工作得很好,但在这里它不会返回任何结果。首先,谢谢你,因为它可以完成这项工作,但是一些本机的HQL将会非常棒。再次感谢首先感谢,因为这可以完成工作,但是一些原生的HQL将会非常棒。再次感谢首先感谢,因为这可以完成工作,但是一些原生的HQL将会非常棒。再次感谢首先感谢,因为这可以完成工作,但是一些原生的HQL将会非常棒。再次感谢