JAVA - hibernate - 在 DAO 中创建新查询

标签 java hibernate

您好,我在使用 hibernate 创建动态查询时遇到一些问题:

@SuppressWarnings("unchecked")
public List<EnvironmentConfiguration> findEnviromentProperty(String environment) {
    EntityManagerHelper.log(
            "finding property EnvironmentConfiguration instances", Level.INFO,
            null);
    try {
        final String queryString = "(select e.name as environment,\n" + 
                "       SUBSTRING_INDEX(ec.name ,'.',-1) as property,\n" + 
                "       ec.value \n" + 
                "from pkca_test_db.ENVIRONMENT e, pkca_test_db.ENVIRONMENT_CONFIGURATION ec\n" + 
                "where e.ID=ec.ID_ENVIRONMENT      \n" + 
                "and e.name=" + environment +"= :propertyValue )\n" + 
                "union \n" + 
                "(select b.name  as environment,\n" + 
                "       SUBSTRING_INDEX(bc.name ,'.',-1) as property,\n" + 
                "       bc.value \n" + 
                "from pkca_test_db.ENVIRONMENT b, pkca_test_db.ENVIRONMENT_CONFIGURATION bc\n" + 
                "where b.ID=bc.ID_ENVIRONMENT  \n" + 
                "and b.id=1) ;";
        Query query = getEntityManager().createQuery(queryString);
        query.setParameter("propertyValue", environment);
        return query.getResultList();
    } catch (RuntimeException re) {
        EntityManagerHelper.log("find all failed", Level.FATAL, re);
        throw re;
    }
}

这个值 e.name="+environment +"= :propertyValue 必须由一个参数组成。查询语法是否有错误?

谢谢

最佳答案

我不明白你想在那里做什么。您的情况下的查询将类似于 ...e.name=*value*= :propertyValue...

也许你想做的是 ...e.name="+ 环境 + "联合

关于JAVA - hibernate - 在 DAO 中创建新查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60006570/

相关文章:

Hibernate 默认模式和表注释

java - if 语句和 for 循环中 ArrayList 的问题

java - 在 Eclipse 中从 XML onClick 为按钮生成方法定义?

java - 为什么我的变量在我的方法中不会改变?

java - 将纬度/经度转换为 JTS?

java - 将字符串日期转换为 yyyy-MM-dd 格式以传入 hibernate 条件

java - JasperReport - 换行以在文本字段中显示长文本

java - 没有真正原因的 NullPointerException

java - 加入 hibernate 状态

java - OSGi vs Spring vs Struts vs EJB vs. Hibernate——一个完全新手的问题