作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在调试以下函数:
public List<ImpPeriode> importPeriode(Integer type, Date dateDebut) {
String sQuery = "from "+ImpPeriode.class.getCanonicalName()+" ip where ip.type = :type and ip.dateDebut > :dateDebut";
Query query = getSession()
.createQuery(sQuery)
.setParameter("type", type)
.setParameter("dateDebut", dateDebut);
return (List<ImpPeriode>) query.list();
}
我的 ImpPeriode 类的映射是:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping schema="importeloi">
<class name="com.an.eloi.model.domaine.importation.ImpPeriode" table="imp_periode">
<id name="id" type="java.lang.Integer">
<column name="periode_id" />
</id>
<property name="type" type="java.lang.Integer">
<column name="periode_type" not-null="true"/>
</property>
<property name="dateDebut" type="java.util.Date">
<column name="periode_datedeb" length="19" not-null="true"/>
</property>
<property name="dateFin" type="java.util.Date">
<column name="periode_datefin" length="19" not-null="true"/>
</property>
</class>
</hibernate-mapping>
但不知何故,我不断收到错误消息,指示我的参数命名中存在错误:
org.hibernate.QueryParameterException: could not locate named parameter [type]
我使用的是 Java 7 和 Hibernate 3.6.10。
显然我错过了一些东西,但是什么呢?
编辑:
我更改了代码以使“type”一词消失:
public List<ImpPeriode> importPeriode(Integer periodeType, Date periodeDateDebut) {
String sQuery = "from "+ImpPeriode.class.getCanonicalName()+" ip where ip.periodeType = :periodeType and ip.periodeDateDebut > :periodeDateDebut";
Query query = getSession()
.createQuery(sQuery)
.setParameter("periodeType", periodeType)
.setParameter("periodeDateDebut", periodeDateDebut);
return (List<ImpPeriode>) query.list();
}
和
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping schema="importeloi">
<class name="com.an.eloi.model.domaine.importation.ImpPeriode" table="imp_periode">
<id name="periodeId" type="java.lang.Integer">
<column name="periode_id" />
</id>
<property name="periodeType" type="java.lang.Integer">
<column name="periode_type" not-null="true"/>
</property>
<property name="periodeDateDebut" type="java.util.Date">
<column name="periode_datedeb" length="19" not-null="true"/>
</property>
<property name="periodeDateFin" type="java.util.Date">
<column name="periode_datefin" length="19" not-null="true"/>
</property>
</class>
</hibernate-mapping>
可悲的是,我得到了完全相同的错误。
最佳答案
类型是 HQL 中的保留字。如果您重命名字段,它应该可以工作。
关于java - QueryParameterException 即使一切似乎都被正确命名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59292691/
我正在调试以下函数: public List importPeriode(Integer type, Date dateDebut) { String sQuery = "from "+Imp
我正在开发一个 Spring-MVC 应用程序,我想在其中同时对多个变量运行搜索。但代码在为第一个值本身设置参数时始终失败。我不知道为什么。你能帮忙的话,我会很高兴。 列出学生: @Override
我的项目设置是 MySQL DB 上的 Spring MVC、Hibernate 3.2.x 得到以下错误: org.hibernate.QueryParameterException: could
请找到我用过的代码。下面的 HQL 查询失败说: could not locate named parameter [templateId] 但是 templateId 存在于我的模型类中。 请帮助解
我是一名优秀的程序员,十分优秀!