论坛首页 编程语言技术论坛

NHibernate的问题以及Attribute

浏览 9423 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-23  

两个困惑的地方:

(1)Java 5中新出的Annotation是不是可以类比.Net中的Attribute?

(2)既然Hibernate利用Annotation实现了不需要表的XML配置文件,NHibernate岂不是早就该做到了

   发表时间:2007-05-25  
看一下nhibernate项目中的
NHibernate.Mapping.Attributes
就是做这个的
0 请登录后投票
   发表时间:2007-05-25  

dyzz 写道:

两个困惑的地方:

(1)Java 5中新出的Annotation是不是可以类比.Net中的Attribute?

(2)既然Hibernate利用Annotation实现了不需要表的XML配置文件,NHibernate岂不是早就该做到了

 

 

1. Annotation 就是学.net Attribute的东西,所以java越来越象C#了.

2. Nhibernate不是王道,会如何真的很少人关心. LINQ toSQL和LINQ to Entity 才是官方版本的框架.





0 请登录后投票
   发表时间:2007-05-25  
这些东西都不是王道

最近在做python项目,一个sqlalchemy 就可以秒杀这些东西
0 请登录后投票
   发表时间:2007-05-25  
jjx 写道
这些东西都不是王道

最近在做python项目,一个sqlalchemy 就可以秒杀这些东西


刚小瞄了下sqlalchemy,和LINQ的概念是类似的,所以秒杀LINQ那是谬误di.

sqlclchemy
result = query.select_by(users_table.c.user_id>224, 
sql        users_table.c.user_name=='john', fullname='John Smith')


LINQ

var result=from user in users where user.id>224 and user.user_name="john"...



LINQ to entity可以工作在ADO.NET entity(Orcas重要更新之一)上的,ADO.NET entity则类似于ORM框架,但是配置更简单更友好.

LINQ的结果可以直接绑定到Gridview里去,更重要的是LINQ to entity是支持继承di.
0 请登录后投票
   发表时间:2007-05-25  
小瞄一下是不够的呀,真正用过才能说好啊,呵呵


sqlalchemy 设计思维很独特,它实际上有三个层,dbengine,metadata,orm ,你可以根据你的实际来选择混用这些层,而大部分orm,则强迫用对象去思考,而一个实际项目中,通常只有一半或更少的东西是真正适合实用orm
至于语言的便利性就不讲了 ,除了sqlalchemy本身,elixir构造在sqlalchemy 上,提供类似rails activerecord dsl描述

linq to entity 的性能还有很大路要走,eql还不完善.还有那一大堆配置,搞的非的借助设计器不行,在重量级上,.net /java是一致的,他从来不是开发者真正需要的东西

linq to sql 现在应该是相对完美些,但我已经中了动态语言的毒了,不会在回头了

btw : 数据绑定从来不是orm要考虑的,如果要谈,linq to sql,linq to entity都只是提供了简单的IPropertyNotify类的接口,和 dataset(datatable)支持的一大堆接口完全不能等同,如果你在windows forms中使用linq to entity,linq to sql 的话,你也会非常苦恼,因此,干脆抛弃这些东西更好
0 请登录后投票
   发表时间:2007-05-25  
jjx 写道
小瞄一下是不够的呀,真正用过才能说好啊,呵呵


sqlalchemy 设计思维很独特,它实际上有三个层,dbengine,metadata,orm ,你可以根据你的实际来选择混用这些层,而大部分orm,则强迫用对象去思考,而一个实际项目中,通常只有一半或更少的东西是真正适合实用orm
至于语言的便利性就不讲了 ,除了sqlalchemy本身,elixir构造在sqlalchemy 上,提供类似rails activerecord dsl描述

linq to entity 的性能还有很大路要走,eql还不完善.还有那一大堆配置,搞的非的借助设计器不行,在重量级上,.net /java是一致的,他从来不是开发者真正需要的东西

linq to sql 现在应该是相对完美些,但我已经中了动态语言的毒了,不会在回头了

btw : 数据绑定从来不是orm要考虑的,如果要谈,linq to sql,linq to entity都只是提供了简单的IPropertyNotify类的接口,和 dataset(datatable)支持的一大堆接口完全不能等同,如果你在windows forms中使用linq to entity,linq to sql 的话,你也会非常苦恼,因此,干脆抛弃这些东西更好


我个人看法: 虽然实现细节不同,但LINQ和sqlalchemy是概念类似的...如果sqlalchemy提高了开发效率,那LINQ也会
0 请登录后投票
   发表时间:2007-05-25  
个人看法,我从objectspaces pdc就关注.net orm的发展,也用了许多东西,但现在sqlalchemy才是真正让我满意的,什么linq ,那是花架子,项目中的意义不是很大

概念都是类似的,但行事方式和思维有差异的,这是真正造成语言丰富多彩的因素

谈C#的发展,其实java也是一样,前景自然很美,但你只能被动的等待

想想老马之类的为什么这么吹捧ruby ,那是因为ruby简直是架构设计师的梦幻语言,用户能轻易的扩充语言的基本设施.python这方面相对不如ruby来的激进,但好处的语法优雅,易懂

而java,C# 之类的,我们只有等设计者来修改编译器

C# 3.0虽然引入了不少新东西,但有时想象delegate都是类,匿名代理也是类,lambda 都是类,语言底层难道不能该改,该用function的就用function,像python一样的function 多轻巧,据说vbx 要走和 c#不同的路线了,设计者要另起炉灶了,这才是好事,不要把真正的语言的特色都抹杀掉了

0 请登录后投票
   发表时间:2007-05-25  
C#的设计目标毕竟和ruby不一样的,毕竟软件也不等于ORM,C#还得去兼顾别的领域,比如对DirectX的支持,比如对commnucation的支持...但它在不断吸收别的语言的长处,这是C#团队比java团队好的地方.

比如DLR的引入,也许也会是件很了不起的事情...
0 请登录后投票
   发表时间:2007-05-25  
jjx 写道
个人看法,我从objectspaces pdc就关注.net orm的发展,也用了许多东西,但现在sqlalchemy才是真正让我满意的,什么linq ,那是花架子,项目中的意义不是很大


这里就主观了... 其实如果我写项目,linq或者orm也许都不会用,一层SP,一层SQL mapping,便于调优,便于修改,it is enought.

不过回头我也去看看sqlalchemy,新鲜的东西还是值得研究下下的.
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics