Hibernate, Database mapping.... Dot Net
有没人弄过hibernate, 要给每个tablelle mapping吗? 那要有100多个tabellen 不就 有 100多个classe了? 我在想我的逻辑层改怎么分, 这个classlibrary应该方到我的framework里呢还是从新外加一层?反正不能方到webservices里吧。 但我framework里也需要一些classe,外加 referrence也不好,因为有些逻辑层的功能直接就在class里面实现的。喜欢偶尔玩玩陌生的东西,呵呵~
有经验的说说你们怎么分的吧~~$支持$ $支持$ 每个tabel都要一个mapping,即一个hbm.xml+一个model class。。。然后再配个dao class来写一些调用datenbank 的 methode
不好意思,才看到,你说的是dot net。不知道dot net是不是也这样呢?好奇ing..$汗$
[ 本帖最后由 krap 于 2007-5-11 00:17 编辑 ] .net和 java一样的。 sourceforge 里有爱好者弄了 个 nhibernate, 基本的 hibernate 功能都复制了。
因为我以前弄的三层,和一个系统framework。系统framework里mapping了 一些重要的 table,比如 user table吧。 但是一些数据几乎不改变的table必要给他对应一个操作类吗? 我认为没必要。 而且,当数据库关系很复杂的时候,比如上100个table,偶地神啊。。。我是不是改另起一project封装这100多个mapping class,还是添加在本来的framework里$frage$
主要是我自己的framework用的挺好的。如果突然加进来几乎不会直接进行操作的类,比如说有个price 的 table,里面就比如说3,4行,这种table根本就不需要操作。 而且如果加入我的framework的话,又要进行从新分类,哪个属于哪个。然后所有的namespace也要改。。。 最近也刚开始做hibernate 的项目。因为是java的项目,所以很多东西很好理解。一个数据表对应一个数据对象类是必须的,这个也就对应java bean的概念。
因为项目是按module来写的,所以数据类可以按照调用分别封装在各个module里。 我不管了。就部分mapping。道理是死的人是活的。这么做项目着多久也没遇见过结构框架问题。其实就是个偷懒而已,不弄那么麻烦了。
今天非常气愤!!!hibernate就是要跟俺作对是么。 调用webservieces方法给我提示”http 500 服务器错误“ !其他没用hibernate的方法都可以,asp网站也可以用。说明不是iis的问题。但是我还是同步了 iis ,iwam 的密码帐号。还是不行。搞了几个小时,没心情了。每次都在ISessionFactory factory = cfg.BuildSessionFactory(); 行,就是
BuildSessionFactory()跳出这个网页错误。 应为只有dll文件,没法内部调试。也没在网上找到对应的nhibernate cs文件。
气死我了。昨天都运行的好好的,今天就突然不行了,什么玩意儿嘛$怒吼$
public bool insertEmployeeTest( string MyEmployeeXML )
{
Configuration cfg = new Configuration();
cfg.AddAssembly("HM_ClassLibrary");
ISessionFactory factory = cfg.BuildSessionFactory();
ISession session = factory.OpenSession();
ITransaction transaction = session.BeginTransaction();
// Tell NHibernate that this object should be saved
session.Save( new Employee(MyEmployeeXML) );
// commit all of the changes to the DB and close the ISession
transaction.Commit();
session.Close();
return true;
}
[ 本帖最后由 shfaye 于 2007-5-17 19:57 编辑 ] 晕啊~~~原来是我的ie的显示详细错误被关掉了,弄的全是500错误。。。。。原来我一直都是选择开的啊,怎么突然北关掉了$frage$~弄得我找不着北了。呵呵~~其他朋友们也要注意啦,别弄这么noob的错误$汗$ 原帖由 shfaye 于 2007-5-11 17:14 发表 http://www.dolc.de/forum/images/common/back.gif
.net和 java一样的。 sourceforge 里有爱好者弄了 个 nhibernate, 基本的 hibernate 功能都复制了。
因为我以前弄的三层,和一个系统framework。系统framework里mapping了 一些重要的 table,比如 user ta ...
操作类不用每个必备一个,用到的才写啊,呵呵。
你说的也是个问题,多加个表格就要多那么一套东西,而且有些相应的都要改变。。$怒吼$ 应该是你要persistent的那些Beans才要写相应的mapping文件的, 就像JPOX一样的. Management classes就不用了. Hibernate Synchronizer hehe....我成了前车之鉴了. hibernate不适合开发web service. 应为对应的collection必须用interface, 但interface无法序列化(serialization). 而且, 对相互引用(circle reference)没有自动的序列化程序,必须自己写.(那是几乎不可能的). 所以想要用hibernate做web service中间层用 的朋友还是放弃吧. 或者你只使用部分hibernate功能.比如插入,update,delete. 也非常省事.必要的collection intance就自己用sql写吧.(也许hql也可以? 有空实验实验.)
希望hibernate以后的版本里面能提供支持. 我是没有时间.要不也去看看LINQ等针对.net的.
页:
[1]