Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate设置参数让我发疯_Hibernate_Hql - Fatal编程技术网

Hibernate设置参数让我发疯

Hibernate设置参数让我发疯,hibernate,hql,Hibernate,Hql,这很有效 hql = "from State where StateCode like 'T%'"; Query query = session.createQuery(hql); 这是不可能的 hql = "from State where StateCode like :StateCode"; Query query = session.createQuery(hql); query.setParameter("StateCode", "T%"); 我明白了 1568 [main] DE

这很有效

hql = "from State where StateCode like 'T%'";
Query query = session.createQuery(hql);
这是不可能的

hql = "from State where StateCode like :StateCode";
Query query = session.createQuery(hql);
query.setParameter("StateCode", "T%");
我明白了

1568 [main] DEBUG org.hibernate.hql.ast.ErrorCounter  - throwQueryException() : no errors
1596 [main] DEBUG org.hibernate.hql.antlr.HqlSqlBaseWalker  - select << begin [level=1, statement=select]
1608 [main] DEBUG org.hibernate.hql.ast.tree.FromElement  - FromClause{level=1} :  com.kencogroup.kkms.models.State (no alias) -> state0_
1610 [main] DEBUG org.hibernate.hql.ast.tree.FromReferenceNode  - Resolved :  {synthetic-alias} -> {synthetic-alias}
1611 [main] DEBUG org.hibernate.hql.ast.tree.DotNode  - getDataType() : StateCode -> org.hibernate.type.StringType@a39137
1611 [main] DEBUG org.hibernate.hql.ast.tree.FromReferenceNode  - Resolved :  {synthetic-alias}.StateCode -> state0_.StateCode
SELECT Exception: java.lang.reflect.UndeclaredThrowableException
1568[main]DEBUG org.hibernate.hql.ast.ErrorCounter-throwQueryException():无错误
1596[main]调试org.hibernate.hql.antlr.HqlSqlBaseWalker-选择状态0_
1610[main]DEBUG org.hibernate.hql.ast.tree.FromReferenceNode-已解析:{synthetic alias}->{synthetic alias}
1611[main]调试org.hibernate.hql.ast.tree.DotNode-getDataType():StateCode->org.hibernate.type。StringType@a39137
1611[main]DEBUG org.hibernate.hql.ast.tree.FromReferenceNode-已解析:{synthetic alias}.StateCode->state0\u0.StateCode
选择异常:java.lang.reflect.UndeclaredThrowableException
请注意
未声明的hrowableexception
异常

我做错了什么

如果有帮助的话,数据库是SQL Server 2008。但是就像我说的,其他的查询也可以


谢谢

如果您遵循标准命名约定,它应该是
stateCode
,而不是
stateCode
。 试一试

hql = "from State where stateCode like :myStateCode";
Query query = session.createQuery(hql);
query.setParameter("myStateCode", "T%");

如果遵循标准命名约定,则应为
stateCode
,而不是
stateCode
。 试一试

hql = "from State where stateCode like :myStateCode";
Query query = session.createQuery(hql);
query.setParameter("myStateCode", "T%");
终于

事实证明,Struts 1中的ANTLR版本与Hibernate版本不同。完全混乱。

最后


事实证明,Struts 1中的ANTLR版本与Hibernate版本不同。完全混乱。

你能显示完整的堆栈跟踪吗?我指的是异常的堆栈跟踪,而不是日志。你还应该向我们显示状态实体的源代码这里是状态源代码的要点,AbstractRepository源代码,堆栈跟踪(据我所知),等等。我正在尝试实现类似:
stateRepo.like(“StateCode”、“TN”).select();
stateRepo.like(“StateCode”、“TN”).like(“AccountingCode”,25)。select()
等。您能显示完整的堆栈跟踪吗?我是指异常的堆栈跟踪,而不是日志。您还应该向我们显示状态实体的源代码这里是状态源代码、抽象存储库源代码、堆栈跟踪(据我所知)等的要点。我正在尝试实现类似以下内容:
stateRepo.like(“StateCode”)“,“TN”)。选择()
stateRepo.like(“StateCode”,“TN”).like(“AccountingCode”,25)。选择()等。