谁能解释getNamedQuery的工作原理

时间:2019-03-03 17:01:44

标签: java sql spring hibernate hql

有人可以帮助我了解getNamedQuery的工作原理吗?

    if(requestObj.getUpdateType().equalsIgnoreCase("U"))
        {
            if(logger.isDebugEnabled())
                logger.debug("Inside update");

            Query query = session.getNamedQuery("updateId");

            query.setParameter("id", requestObj.getId());
            query.setParameter("name", requestObj.getName());
            query.setParameter("createDate", requestObj.getCreateDate());

            int result=query.executeUpdate();

            if(result>=1){
                if(logger.isInfoEnabled())
                    logger.info("Data Updated for "requestObj.getId());
            }else{
                if(logger.isInfoEnabled())
                    logger.info("No data found for provided Id "+requestObj.getId()");
            }
    }

我有一个csv文件,我们需要从中读取数据并更新/插入到数据库中,csv文件的第一列是updatetype。如果更新类型为“ U”,则意味着需要更新数据库中的数据。 “ requestObj”是我的POJO类的对象

查询查询中的“ updateId”是什么= session.getNamedQuery(“ updateId”);? id在requestObj.getId()中是什么?它直接指向数据库吗?

1 个答案:

答案 0 :(得分:0)

如果使用的是Hibernate,则getNamedQuery(query)返回XML配置文件中定义的JPA查询。 “ updateId”只是该查询的名称。

我不知道requestObj的类型,但我假设getId()返回其唯一标识符。