我正在进行休眠。我正在低于例外
org.hibernate.hql.ast.QuerySyntaxException: DBCDataSource is not mapped [from DBCDataSource where upper(datasourceType) = upper('BAC_MANAGEMENT')]
我在网上搜索并得到答案,因为在HQL中我们需要使用类名和属性名而不是表名和列名。查询是使用列名,所以我已经改变了它使用属性名称后,也dint去了。我已经在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;
}
..
..
<mapping class="com.hp.bto.bsmr.collection.dao.omi.DBCDataSource" />
..
..
我突然错过了吗?
请咨询..
谢谢。
答案 0 :(得分:0)
你可以试试这个
list = session.createQuery("from DBCDataSource where "
+"upper(datasourceType) =:type")
.setParameter("type", type)
.list();