hibernate中怎么操作sql语句 不要查处所有的映射字段 只要自己写的一列
sql=“select id from 数据库表名”又不能直接操作数据库表名 报错 from类名映射又不对也报错
该怎么做呀

解决方案 »

  1.   

    jdbc 你会写么? 写好连接数据源代码。 你试试、
      

  2.   

    select new 包名.类名(id) from 实体类
    同时在实体类中添加带参的构造方法(这里指的当然就是字段id)
      

  3.   

    session.createSQLQuery,可以看看api
      

  4.   


    String sql="select id from Menu"; 这里必须是实体类名
    SQLQuery sq = session.createSQLQuery(sql); 
    sq.addEntity(Menu.class); 
    List list = sq.list();  
      

  5.   

    String sql="select id from user, user为类名,为自动生成的与数据库对应的类名,在hibernate中的关系为 ORM ,类名对应数据库中的表名,对象对应数据库中的行(记录) ,属性对应数据库中的字段,
    你在使用时只要将原来写表名的地方,换为类名,将字段换为属性名,就行了, 
      

  6.   

    hibernate 要3.0以上  不然exquateUpdate 会报错的
      

  7.   

    将以前在sql中的表名,在hql中该为类名,字段名改为属性名
      

  8.   

    session.createSQLQuery   或者  session.createQuery    一列返回查询出来的类型,多列放回Object数组
      

  9.   

    如果允许写JDBC,也就不用问了!!三楼的,,,加个构造就行了是吗??
      

  10.   

    SQLQuery query = session.createSQLQuery("sql语句");
    SQLQuery和Query差不多,只是一个是执行sql语句一个是执行hql语句的。
      

  11.   

    使用SQLQuery 可以直接操作sql语句??我试试
      

  12.   

    使用SQLQuery 可以直接操作sql语句??我试试
      

  13.   

    List l=session.createSQLQuery("...").list()
    for(Object o:l)
    {
      o[0]...
    }
      

  14.   

    用session.createSQLQuery可以弥补hibernate中对数据库操作灵活性不足的问题。
      

  15.   

    query.list();不过返回的list装的不是那个表的entity对象而是Object