如果业务逻辑写在存储过程中,Hibernate不适用。
如果是面向对象的领域模型,并且业务逻辑写在中间层,适合使用Hibernate。
他们没有意识到,将业务逻辑从领域模型中分离出,写在中间层,这个领域模型其实是个贫血模型,也就是说,Hibernate适合贫血模型,而不是真正面向对象的领域模型。
真正的对象是什么?不只是有对象的属性,还有对象的行为(这个行为不是属性的setter/getter),这才是完整对象。
当Java 8的lambda来了以后,是否需要这些ORM框架还是个问题,如下是获得一个符合条件的查询:
|
如果把SQL看成类似微软的LinQ,那么结合函数风格,一个符合DDD的criteria可以直接书写,无需什么持久层框架了。
http://www.jdon.com/idea/java/java-8-lambda-jdbc.html
以上个人观点。
[该贴被banq于2013-12-06 11:39修改过]
[该贴被banq于2013-12-06 11:40修改过]
我是在看一个开源的项目:BroadleafCommerce,关于电商的,做了很多年了。看到这个项目在用,初学。在看Hibernate 官方的文档的时候,我点疑惑。
但是为什么Hibernate被大量的采用?
有其他代替的方案吗?
2013-12-06 12:07 "@
sinaID30957"的内容
但是为什么Hibernate被大量的采用?
有其他代替的方案吗? ...
有其他代替的方案吗? ...
呵呵,那是在走弯路,著名面向对象大师MartinFowler说,这是类似美国打的一场越战,采用的人多只代表在越战上牺牲的人越多,建议参考MF的文章:http://www.jdon.com/43937
这句话的意思是,ORM产品不可能做的更好吗?