s***o 发帖数: 2191 | 1 do you also implement change tracking within your own orm?
memory |
|
s***o 发帖数: 2191 | 2 without change tracking, how do you make persistence of your domain changes?
Recently I had a look on some "micro ORMs" (that's what we call them in .
NET world), and this is one problem I haven't found an answer... |
|
G***l 发帖数: 355 | 3 都说linq跟orm的玩意风马牛不相及了,还拿hibernate举例子。。。
java和scala类比c和c++就很贴切了?scala的语法跟java完全不一样,更像是perl,
python,ruby之类的语言。你那么说是因为scala也是在JVM上?JVM支持的语言可多了去
了还有Python之类的。就像CLR支持C#,VB,Python,Ruby,F#。。。难道这些语言很相似? |
|
s******e 发帖数: 493 | 4 have 10 mins before leaving. Hope it will be enough for a summary.
for certificates related to j2ee, you can do scwd (jsp/servlet), scbcd (ejb.
it will help you understand orm and transaction later), and scwsd (web
services, you may want to take a look at restful later for comparison when
you need to work on real pr). Once these are all done, you can try scea (
architecture).
With all these on your belt, if you spend time on java io/nio, java swing,
and java security. I think that you are pretty... 阅读全帖 |
|
s******e 发帖数: 493 | 5 have 10 mins before leaving. Hope it will be enough for a summary.
for certificates related to j2ee, you can do scwd (jsp/servlet), scbcd (ejb.
it will help you understand orm and transaction later), and scwsd (web
services, you may want to take a look at restful later for comparison when
you need to work on real pr). Once these are all done, you can try scea (
architecture).
With all these on your belt, if you spend time on java io/nio, java swing,
and java security. I think that you are pretty... 阅读全帖 |
|
s******e 发帖数: 493 | 6 Spring is an application framework. basically it provides either almost
everything you might need to develop an enterprise application or a hook to
other frameworks for you to integrate with. For any nontrivial enterprise
level app, it is probably a good choice considering it is feature rich and
extremely easy to extend. But DO NOT try to cut everything in it. Like any
framework, you pay overhead to gain RAD, which is not desired at certain
cases. For example, you do not need its rich features a... 阅读全帖 |
|
g*****g 发帖数: 34805 | 7 Spring and hibernate grab the good parts out of ejb1.x and ejb2.x.
Namely IOC, AOP (declarative transaction, security) and ORM. Ejb, however,
had a poor implementation. Verbose, hard to test, can't run outside
of container. But you need to give some credit to ejb, the idea behind
it leads to the birth of spring.
Spring is meant to be the replacement with assembled services, thus
make it lighted-weighted and run everywhere.
You have pieces that resembles what an ejb container provides,
and you as... 阅读全帖 |
|
z****e 发帖数: 54598 | 8 当初提出的三层衔接
其实不止三层了,四五层都有
但是最常用的三层
一个是通过最底层的rmi接口调用,Serializable接口就是那时候的东西
但是很快人们就发现,这样搞没得搞,因为一群人太煞笔了
大部分人学不会Serializable和rmi
当然之前的corba更让人绝望
谁有办法用上百万年薪去雇佣这样一个人来搞这种东西
rmi算是对corba的一层封装,但是还是很难搞
然后发明了ejb,remote接口,在中间那一层做集成
但是在最初版本中犯了一个大忌
就是本机上的调用跟异机上的调用,居然是一样的
群众崩溃了,这不是煞笔嘛?同一台虚拟机,我直接用不就好了
还找个屁啊?spring就是在这个时候抢占市场的
一群无法理解或者说理解了觉得有病的人都跑去用spring了
等到ejb2.0出来的时候,spring已经遍地开花了
然后这个时候,人民又意识到,这个不同机器上的调用是有必要的
在不同平台上做交流是大势所趋,于是发明了各种办法
比如用ajax来统一ie和ff,还有web2.0, soa什么都是那个时候踢出来的
当然最重要的一个创造就是xml,这个本意是规范文件格式
让不同平台上的... 阅读全帖 |
|
z*******3 发帖数: 13709 | 9 ejb外面还有其他规范啊,jboss等容器又不是只搞ejb
jboss是一个servlet, jsp, ejb, jpa 等一堆东西的集合体
我不是说用ejb解决所有问题,但是jboss和weblogic还有websphere
这三个,得其中一个足够了,就足够搞定所有spring, hibernate, tomcat, spring
mvc还有jersey的功能了
我只要有jboss
三层很容易出来
web用最古老的,servlet+jsp,唯一的麻烦就是要自己去写mvc,但是我觉得不用统一
的dispatch servlet也没什么
难道不允许我用几个servlet来dispatch么?
jsp用jslt,这也是政府军
然后service tier用ejb
orm还是用ejb
web service还是用ejb
然后所有tomcat能做的, jboss都能做,因为jboss用了tomcat做web容器
summary如下
你用spring, hibernate, tomcat, jersey做的
我用一个jboss全部都可以做,而且省掉很多配置,搞定一个jboss远比搞定几个框架要
... 阅读全帖 |
|
g*****g 发帖数: 34805 | 10 Spring and hibernate grab the good parts out of ejb1.x and ejb2.x.
Namely IOC, AOP (declarative transaction, security) and ORM. Ejb, however,
had a poor implementation. Verbose, hard to test, can't run outside
of container. But you need to give some credit to ejb, the idea behind
it leads to the birth of spring.
Spring is meant to be the replacement with assembled services, thus
make it lighted-weighted and run everywhere.
You have pieces that resembles what an ejb container provides,
and you as... 阅读全帖 |
|
z****e 发帖数: 54598 | 11 当初提出的三层衔接
其实不止三层了,四五层都有
但是最常用的三层
一个是通过最底层的rmi接口调用,Serializable接口就是那时候的东西
但是很快人们就发现,这样搞没得搞,因为一群人太煞笔了
大部分人学不会Serializable和rmi
当然之前的corba更让人绝望
谁有办法用上百万年薪去雇佣这样一个人来搞这种东西
rmi算是对corba的一层封装,但是还是很难搞
然后发明了ejb,remote接口,在中间那一层做集成
但是在最初版本中犯了一个大忌
就是本机上的调用跟异机上的调用,居然是一样的
群众崩溃了,这不是煞笔嘛?同一台虚拟机,我直接用不就好了
还找个屁啊?spring就是在这个时候抢占市场的
一群无法理解或者说理解了觉得有病的人都跑去用spring了
等到ejb2.0出来的时候,spring已经遍地开花了
然后这个时候,人民又意识到,这个不同机器上的调用是有必要的
在不同平台上做交流是大势所趋,于是发明了各种办法
比如用ajax来统一ie和ff,还有web2.0, soa什么都是那个时候踢出来的
当然最重要的一个创造就是xml,这个本意是规范文件格式
让不同平台上的... 阅读全帖 |
|
z*******3 发帖数: 13709 | 12 ejb外面还有其他规范啊,jboss等容器又不是只搞ejb
jboss是一个servlet, jsp, ejb, jpa 等一堆东西的集合体
我不是说用ejb解决所有问题,但是jboss和weblogic还有websphere
这三个,得其中一个足够了,就足够搞定所有spring, hibernate, tomcat, spring
mvc还有jersey的功能了
我只要有jboss
三层很容易出来
web用最古老的,servlet+jsp,唯一的麻烦就是要自己去写mvc,但是我觉得不用统一
的dispatch servlet也没什么
难道不允许我用几个servlet来dispatch么?
jsp用jslt,这也是政府军
然后service tier用ejb
orm还是用ejb
web service还是用ejb
然后所有tomcat能做的, jboss都能做,因为jboss用了tomcat做web容器
summary如下
你用spring, hibernate, tomcat, jersey做的
我用一个jboss全部都可以做,而且省掉很多配置,搞定一个jboss远比搞定几个框架要
... 阅读全帖 |
|
z*******3 发帖数: 13709 | 13 抛砖引玉
吃饱了看文茜世界财经周报,看得昏昏的想睡,睡觉前赶紧写,写完睡觉去了
这样,先不从dto说起了,说tiers
一个j2ee经典的tiers最早提出来的时候,是三层,所谓的三层说的是sever side三层
不包括client side和database
三层里面分别有一层专门跟以上两个东西打交道
一个是presentation tier,这个跟client side打交道
一个是persistent tier,这个专门跟database打交道
中间还剩下一个叫做business tier,这么三层,这都很熟悉了
那么当初提出这个构想的时候
是基于以下一个方式
client side是applet+browser
presentation tier是servlet+jsp,servlet是controller,jsp是viewer
model需要你自己去提取,去包装
business tier则是ejb,尤其是session bean,stateful和stateless
persistent tier也是ejb,是entity bean
database用jdbc连接
这五个... 阅读全帖 |
|
e*****t 发帖数: 1005 | 14 这篇是好文,讲的历史沿革,还有层次都很清晰。
吹毛求疵一点点:
1. ejb刚出来的时候,persistence tier主流不是hibernate,应该是jdbc,至于ORM,
应该最热的是iBais。当然hibernate是在ejb2年代热起来的,所以ejb3搞jpa就直接弄
来Gavin King,照搬了hibernate
2. Spring当初是lightweight,现在整个spring一点也不light,应该是比javaEE整个标
准加起来都庞大,只不过大家平日只是用到其中一部分而已:Spring core, Spring
security, Spring MVC, and etc...
3. Entity bean还是JavaEE的概念,Spring那帮人就是不好那个,所以搞POJO.所以提
到data object时,对于spring,还是说pojo来的比较好。
4. Hibernate是red hat的,jboss也是red hat的。不过hibernate至少现在不是jboss的。
5. Spring最初也不过是从POJO, IoC,和transaction搞起来的... 阅读全帖 |
|
e*****t 发帖数: 1005 | 15 喜欢这篇的风格。
加一句,也是当年的一个面试题。选择technology的时候,还要考虑整个team的skill
set.
如果大家都是搞spring那一套的,就算ejb更合适,也还是接着搞spring吧。呵呵。
另一方面就是business requirements和budget,对于startup来说,很少会一来就上
jboss,weblogic,websphere.tomcat可以解决的问题就不用上ejb了,反正也不会真把
application跑在不同的node上。
我个人偏好是spring + tomcat,不过ejb3也进化的不错了。
db oracle肯定是enterprise级RDBMS的首选。当然大多数startup是会选mysql的。
ORM不用说,肯定是hibernate了,但也不是所有的application都适合。
NoSQL选择就更多了,具体选择要看requirments。
至于正规军和民兵的analogy,我不太同意。其实都是正规军,哪一个popular open
source framework/tools后面不站着个big name (includin... 阅读全帖 |
|
w**z 发帖数: 8232 | 16 Java 有Jdbc. 用哪个从Java 讲关系不大。如果用orm, 就更无所谓了。 |
|
z****e 发帖数: 54598 | 17 今天我吃饭时候想了想
为什么我这么长时间不用abstract class了?
而这个概念是如此的简单,当初学java时候就学过了
但是工作中为什么都没用到呢?这个想法倒是很有趣
然后我看了一下你的这个实例,我大概明白为什么了
首先先从你这段开始
你这一段一个类,目测过去,做了不少事情
又是configuration,又是handler,又是constants的
我们先看看大师的代码是怎么写的,看hibernate
hibernate对于configuration有专门的configuration类
然后对于handler,我假设这是一个sessionfactory一样的东西
然后对于你的CRUD,我假设有一个类似session一样的东西
来看hibernate是怎么写的
Sessionfactory sessionfactory = Configuration.buildSessionfactory();
//第一层,从config到factory
Session session = sessionfactory.openSession();
//第二层,从factory到produc... 阅读全帖 |
|
z*******3 发帖数: 13709 | 18 我不知道其它人怎么想
反正我找工作从来都是找坑
先看这家公司能不能长久支持下去
然后看这家公司对开发人员的依赖有多高
这就跟开发一样,你要减轻对ibm各种产品的依赖
你对ibm依赖越多,就越离不开ibm
所以如果一家公司对开发人员依赖越多
自然就越离不开他们,这就是裁员的成本
所以如果这家公司本身是一个大公司
同时又对开发人员很是依赖的话
那就是一个好坑,这才能真正长久干下去
至于业界那些规则怎么变,那其实多少我觉得跟我没什么关系
所以一旦我进入某个行业
会很快滴对hibernate之类的东东持保留态度
在这里随便说,要减轻依赖,减轻依赖
但是实际工作中,dba说,不要用hibernate,好,我们就不用
我才不会吃饱了去说,为了orm,一定要用啊,一定要用啊,哭着喊着,自缢殉国
没吃那么饱,不用也有好处,不用的话代码只要是我写的,写得越多你就越离不开我
不要怪我自私,这就是事实,我发现这就是这一行的现实
但是我自己搞的,那这种问题一定要把它扼杀在摇篮之中 |
|
z*******3 发帖数: 13709 | 19 我这点很同意tom说的
一旦你用了,你就爱不释手
不会之前你会觉得很可怕
但其实没有那么可怕
无非是个工具,你只要理解了这些东西做什么用的
剩下的就很简单,无非做两个试验,照葫芦画瓢
先看定义,javaee的定义,摘取自wikipedia
Java EE includes several API specifications, such as JDBC, RMI, e-mail, JMS,
web services, XML, etc., and defines how to coordinate them. Java EE also
features some specifications unique to Java EE for components. These include
Enterprise JavaBeans, Connectors, servlets, JavaServer Pages and several
web service technologies. This allows developers to create enterprise
applicati... 阅读全帖 |
|
t*******e 发帖数: 684 | 20 差不多。反正有reverse engineering tool,ORM开发的代价真的很小。 |
|
n*w 发帖数: 3393 | 21 Why? Or your team is using another orm?
秒据 |
|
t*******e 发帖数: 684 | 22 Struts流行的时候,ORM还没成熟,POJO domain model不能直接bind web form fields
,还要有个form bean layer。现在都不用了。 |
|
a****i 发帖数: 1182 | 23 扣字眼?
springMVC + spring里后面的spring又是什么?
core? beans? aop? context? oxm? orm? tx?
如果你认为spring包括了其他的,为什么就不能包括 web和webmvc?
顺便跟lz提一下,看jsf吧,比struts有前途 |
|
F****n 发帖数: 3271 | 24 你说的都对,但要意识到一点,ORM比基于IoC的Bean Configuration难多了,
我前面已经说了,Spring最基础的Bean Configuration之前很多组都有自己的一套,
光是它早期的那些东西(当然现在更强大就不提了),即使更好也不足以让别人转而用它
相反Hibernate的功能是大多数人都没有的,所以一出来流行度非常高
popular.
, |
|
t***a 发帖数: 416 | 25 有过两个坑爹技术,一个是dojo, 这货一直0点几的版本号,一开始很美,后来越改越
吐血,前后台搅在一块,那个项目后来就取消了
还有一个是JDO,应该是04,05年的时候,经常直接死挺,那时候我们orm的经验也的确
是不足,但它每个版本都会有自己的问题,层出不穷。。。。那个项目没几年也跪了。
。。 |
|
t*******e 发帖数: 684 | 26 JDO一直半死不活的。作为ORM还是有些应用的,就是被Hibernate压着,JPA出来了就基
本gameover了。 |
|
p*****2 发帖数: 21240 | 27
这个要顶。本来我是不懂SQL的,但是现在都用ORM,也不用学了。 |
|
w**z 发帖数: 8232 | 28 还是学学吧,orm doesn't solve all your problems . |
|
r*****s 发帖数: 985 | 29 i'm not convinced either.
it's a little bit apple-vs-orange comparision.
even the perf boost can be case by case,
under the conditions that you have good sql/db engineers.
if you start to worry about "orm impedance mismatch",
your app is fairly complicated,
and you need a very good sql/db engineer anyway,
with or without hibernate/*batis.
ibatis |
|
p*****2 发帖数: 21240 | 30
us
Anorm不是ORM,我用的是slick。 |
|
p*****2 发帖数: 21240 | 31
api
servelet是不是要淘汰的东西了?
你说的这些貌似也不是啥优势呀,跟其他paas比。
play你可以用ORM呀。 |
|
|
t***a 发帖数: 416 | 33 看眼play framework吧,还能顺带学学akka
搞web光hibernate可能不成,很多架构师嫌它太厚了,不过那些薄的orm其实也不用仔
细学,基本上都是直接玩sql的
Hibernate还有个问题就是不太能搞nosql... |
|
F*******X 发帖数: 143 | 34 且慢,学 Core Java, 这 JDBC 是基本要学得,到了 Java EE 都主张 ORM, 你怎么反
其道,能说说原因吗? |
|
|
z****e 发帖数: 54598 | 36 因为现在db没落了
需要orm的地方越来越少了 |
|
d****i 发帖数: 4809 | 37 Spring JDBC很好,把raw JDBC的麻烦都省掉了,看到一片文章说用Spring JDBC以后甚
至连Hibernate, JPA这些ORM都不用了,简单,直接又轻便。goodbug有何高见?
you |
|
w**z 发帖数: 8232 | 38 我们用 bonecp conneciton pool,performance 够好, 就是写SQL 比较蛋疼。想来
ORM 还是有用的。
有空要学习一下spring data, 我们只用Spring 的DI |
|
w**z 发帖数: 8232 | 39 我都人工写DAO layer, 就几个不复杂的query, 用ORM嫌麻烦,但人工写db column
mapping到 POJO, 确实烦。但一个service就几个POJO, 也不复杂。。。 |
|
b******y 发帖数: 9224 | 40
en, 我也是人工写,简单。关键是,用ORM的话,你学不到底层的东东 |
|
g*****g 发帖数: 34805 | 41 I don't think you need to do that when using JdbcTemplate or Spring Data/
Hibernate/JPA. You probably don't need those at all with ORM. |
|
x****d 发帖数: 1766 | 42 computing is about data structure and algorithm, right? so collections and
generic is basic data structure in java, my wording might be wrong, but you
know what I mean. In real life you need more, like database and orm. you
dont have to know all data structures, but at least you know the names, but
the basic data structure, like list, map, set, you better knwo them good.
for algorithm, you don't need to be an expert, but you need to know basic
stuff good, practise basic algorithm on those basic ... 阅读全帖 |
|
z****e 发帖数: 54598 | 43 每一次搞这些东西
spring等cdi的部分总是最容易搞定的
其次是servlet,这个也不算难
最麻烦的永远是orm部分
jpa也就罢了,最恶心的是transaction不用还不行
然后总是在这里折腾,算了,回去用jdbc |
|
z****e 发帖数: 54598 | 44 每一次搞这些东西
spring等cdi的部分总是最容易搞定的
其次是servlet,这个也不算难
最麻烦的永远是orm部分
jpa也就罢了,最恶心的是transaction不用还不行
然后总是在这里折腾,算了,回去用jdbc |
|
b***i 发帖数: 3043 | 45 我这个quick-start没有bean.xml,只有spring-?insfrastructure.xml
|
|
x****d 发帖数: 1766 | 46 I found most developers know a lot about structural aspect of o/r mismatch
but most of them dont know enough about behaviour aspect, like persistent
context, proxy those stuff.
So can you please share with me what are the difficult things when you
working with hibernate? I want to understand if they are due to structural
or behaviour aspect.
The other day I read zhaoce mentioned a bit about that he spends more time
on orm stuff than mvc, maybe he can zkss?
Another thing is mybatis is getting som... 阅读全帖 |
|
d****i 发帖数: 4809 | 47 I didn't use any orm framework. I only use Spring JDBC and found it very
easy to use without any hassles. Is it good enough for most applications?
behaviour |
|
x****d 发帖数: 1766 | 48 as developer, you don't choose what you use. you have to know orm to pass an
interview. |
|
e******0 发帖数: 291 | 49 包了太多层了,有时候很简单的东西都搞不清ORM是怎么处理的, 复杂的东西估计更加...
记得最开始玩JPA, em.flush完了,但是没看到数据库立即更新, 但Transaction.commit
()一定会更新, 蛋疼的厉害 |
|
z****e 发帖数: 54598 | 50 主要是把hibernate跟cloud结合起来的时候
我被一堆的jboss config files给绕晕了
关键是jpa和jta很多东西,其实对于很多时候,是完全不重要的
没有必要搞这些东西,orm本身意义很大,但是非要上transaction不可
如果不上就不让insert,这就滑稽了
相比之下,nosql容易搞多了,理解了概念,连上去
很少遇到这种事 |
|