首页新闻招聘找找看知识库
  • 回复:10 浏览:18263 2009-08-07 16:58 来自 csg

     string path = HttpContext.Current.Server.MapPath("~/hibernate.cfg.xml");
      NHibernate.Cfg.Configuration cfg = new NHibernate.Cfg.Configuration().Configure(path);
      ISessionFactory sessionFactory = cfg.BuildSessionFactory();
      ISession currentSession = sessionFactory.OpenSession();
    以上都没问题,下面这句就出问题
     System.Collections.IList list = currentSession.CreateQuery("select u from User as u").List();

    出现

    could not execute query [ select user0_.Id as Id4_, user0_.Name as Name4_, user0_.Pwd as Pwd4_ from User user0_ ] [SQL: select user0_.Id as Id4_, user0_.Name as Name4_, user0_.Pwd as Pwd4_ from User user0_]
    错误信息,请教高手指点

    User.hbm.xml 如下:

    <?xml version="1.0" encoding="utf-8" ?>
    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="testnh" namespace="testnh">
      <class name="testnh.User,testnh" table="User">
        <id name="Id" column="Id" unsaved-value="0"  type="Int32" >
          <generator class="native"></generator>
        </id>
        <property name="Name" column="Name" type="string" length="64" not-null="true"></property>
        <property name="Pwd"  column="Pwd"  type="string" length="64" not-null="true"></property>
      </class>
    </hibernate-mapping>


    User.cs  如下:

    using System;
    using System.Collections.Generic;
    using System.Text;

    namespace testnh
    {
       public class User
        {
        private int _id;
        private string _name;
        private string _pwd;
        /**/
        /// <summary>
        /// 编号
        /// </summary>
        public virtual int Id
        {
            get
            {
                return _id;
            }
            set
            {
                _id = value;
            }
        }

        /**/
        /// <summary>
        /// 名称
        /// </summary>
        public virtual string Name
        {
            get
            {
                return _name;
            }
            set
            {
                _name = value;
            }
        }

        /**/
        /// <summary>
        /// 密码
        /// </summary>
        public virtual string Pwd
        {
            get
            {
                return _pwd;
            }
            set
            {
                _pwd = value;
            }
        }
       }
    }

     

     

  • csg
    2009-08-07 17:01 csg
    任何数据库操作都会出错误信息,为什么呢,User.hbm.xml 也已经设为嵌入的资源
    第1楼 回到顶楼
  • 李永京
    2009-08-07 21:19 李永京
    数据库有数据吗
    第2楼 回到顶楼
  • csg
    2009-08-07 21:59 csg
    有数据
    第3楼 回到顶楼
  • 李永京
    2009-08-07 22:04 李永京
    哦,知道了,User是关键字
    第4楼 回到顶楼
  • csg
    2009-08-07 22:09 csg
    哦,谢谢组长,回头上班试试
    第5楼 回到顶楼
  • 李永京
    2009-08-09 18:13 李永京
    修改好了吗
    第6楼 回到顶楼
  • csg
    2009-08-10 09:35 csg
    谢谢,刚试了,可以了,感谢感谢
    第7楼 回到顶楼
  • leighton
    2010-10-17 23:51 leighton
    请问您User是关键字是什么意思,我初学者最近也在做nhibernate,谢谢
    第8楼 回到顶楼
  • 自由工作
    2014-04-30 14:38 自由工作
    怎么改的?
    第9楼 回到顶楼
  • hlyue88
    2015-03-18 13:48 hlyue88
    第10楼 回到顶楼
登录后才能评论,请先登录注册