一尘不染

使用选择示例将Hibernate本机SQL映射到实体

hibernate

我尝试创建本机sql查询并使用参数映射到实体类,但是失败。

/**
     * @return
     */
    public List<PoolRuleMapping> getAllPRM() {
        Session session = null;
        List<PoolRuleMapping> prmList = null;

        try {
            session = HibernateSessionFactory.getSession();

            Query q = session.createSQLQuery("select * from pool_rule_mapping").addEntity(PoolRuleMapping.class);
            prmList = q.list();

        } catch (HibernateException e) {
        } finally {
            session.close();
        }

        return prmList;
    }

请提供一个例子。谢谢。


阅读 214

收藏
2020-06-20

共1个答案

一尘不染

您可以尝试以下代码。

session.createSQLQuery("select * from pool_rule_mapping")
 .addScalar("ID", Hibernate.LONG)
 .addScalar("NAME", Hibernate.STRING)
 .addScalar("SOMEDATE", Hibernate.DATE)
 .addEntity(PoolRuleMapping.class);

另外,您可以尝试为各个字段指定别名。

select prm.id AS ID, prm.name AS NAME, prm.somedate as SOMEDATE from pool_rule_mapping prm
2020-06-20