【发布时间】:2015-06-26 05:27:45
【问题描述】:
我正在研究休眠。我低于异常
org.hibernate.hql.ast.QuerySyntaxException: DBCDataSource is not mapped [from DBCDataSource where upper(datasourceType) = upper('BAC_MANAGEMENT')]
我在网上搜索并得到了答案,因为在 HQL 中我们需要使用类名和属性名而不是表名和列名。查询使用的是列名,所以我已经将它更改为使用属性名,之后也出现了异常。我已经在 HIbernate.cfg.xml 中检查了任何丢失的映射,但我发现映射是正确的。在下面找到ma代码。
previous query-->list = session.createQuery("from DBCDataSource where upper(DATASOURCE_TYPE) = upper('" + type +"')").list();
DATASOURCE_TYPE is a column name
Modified to-->list = session.createQuery("from DBCDataSource where upper(datasourceType) = upper('" + type +"')").list();
datasourceType is a propery name mapped to tat column.
实体类
@Entity
@Table(name="dict_db_ds")
public class DBCDataSource implements Serializable{
.
.
.
@Column(name = "DATASOURCE_TYPE")
private String datasourceType;
}
休眠.cfg.xml
..
..
<mapping class="com.hp.bto.bsmr.collection.dao.omi.DBCDataSource" />
..
..
我还想念吗?
请多多指教..
谢谢。
【问题讨论】: