select table from :TableName as table where table.:fieldName=:queryVal where table.centerId=:centerId
在后面指定参数,:TableName 也通过参数传进来,这种方式可行吗?

解决方案 »

  1.   

    楼主,你是要写成通用的格式吗??HQL语句好像是可以的。我给您看个例子:
    public class HibernateBaseDao extends HibernateDaoSupport{
    //查找某个表的所有信息,(在hibernate 操作数据库时,都是操作pojo对象)  
    public List findAll(Class c){
      return super.getHibernateTemplate().find("from "+c.getName());
      }
    }
      

  2.   

    select table from :TableName as table where table.:fieldName=:queryVal where table.centerId=:centerId 
    在后面指定参数,:TableName 也通过参数传进来,这种方式可行吗?后面用  Query objQuery.setParameter()将真实在tableName传进去。这样可行?
      

  3.   

    嗯  是啊,字段是可以,但是表名就是不行
    那我要动态地指定表名(也就是Hibernate 的映射实体),有什么好的办法吗?
      

  4.   

    給from 的后面傳一個類的參數就可以了。
      

  5.   

    怎么付呢?   下面这种负参数的方法语法通不过,hibernate不支持。
    select table from :TableName as table where table.:fieldName=:queryVal where table.centerId=:centerId