资源描述:
《每个表都必有主键.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、每个表都必须有主键2、自增字段(native)3、one-to-many出错原因1、Couldnotexcutequery:HQL语句出错2、inexpected:bumen[selectbumenfromBumenbumen]:未将配置文件属性改成“嵌入的资源”3、couldnotresolveproperty:查询语句中,定义类对象后,具体字段区分大小写(应与类中变量名同)4、Thefollowingtype
2、smaynotbeusedasproxies:类中定义变量未添加virtual5、多表关联,主外键6、可以将查询出来的字段属性组建成一个新的类,需要定义配置文件,在类文件中需添加构造函数。"selectdistinctnewViewGwFile(gwFileDetail.Id,gwFileDetail.Gwdm,gwFileDetail.GwNameLb,gwFileDetail.GwFileLb,gwFileDetail.Seen,gwFileDetail.SignonNgr,gwFileDetail.Ngr,gwFileDetail.SignonR,gwFileDetail.D
3、dsj,gwFileDetail.Clqk,gwFileDetail.Zh,gwFileDetail.Nian,gwFileDetail.Hao,gwFileDetail.Mj,gwFileDetail.Jb,gwFileDetail.Qfqm,gwFileDetail.Qfrq,gwFileDetail.Bt,gwFileDetail.SignonS,gwFileDetail.State)fromGwFileDetailasgwFileDetailinnerjoingwFileDetail.gwfileprocessasprocesswhere1=1";使用NHibernate,
4、OracleClob/NClob无法插入、乱码问题服务器Oracle9i,客户端Oracle10g。问题1:NHibernate配置的Driver为NHibernate.Driver.OracleClientDriver,存入Clob、NClob字段,值比较大时报错,错误信息中文:ORA-01461:仅可以为插入LONG列的LONG值赋值英文:ORA-01461:canbindaLONGvalueonlyforinsertintoaLONGcolumnGoogle一下有很多人碰到这个问题,有人猜测是MSSystem.Data.OracleClient的一个Bug,方法是改用Orac
5、le提供的Oracle.DataAccess。解决方法:下载安装ODAC(OracleDataAccessComponents),将NHibernate的Driver配置为NHibernate.Driver.OracleDataClientDriver,确保运行目录下有Oracle.DataAccess.dll文件。问题2:使用Oracle.DataAccess之后可以向一个NClob字段中插入长文本,但文本有的情况下会变成乱码。具体表现是输入一些中文单词,保存后正常;输入英文字符,保存后正常;输入一段中英文混杂的html,保存后变成乱码。排除了服务器、客户端Oracle字符集设置
6、问题。跟踪NHibernate,在调用IDbCommand执行SQL语句时,参数中的值是正常的,因此排除了程序中对文本的编码、解码问题。经过测试,使用下面的方式存入NClob的值不会变为乱码:usingOracle.DataAccess.Client;OracleConnection con = new OracleConnection("......");con.Open();OracleTransaction tran = con.BeginTransaction();OracleCommand command = con.CreateCommand();command.Com
7、mandType = CommandType.Text;command.CommandText = "update cms_template set temp_content=:p where temp_id=4";OracleParameter param = command.CreateParameter();param.ParameterName = ":p";param.Value = this.textBox1.Text;param.OracleDbType