作者:左轻侯
1119字节
点击:71438
回复:4499
所属分类:技术随笔
1 在EJB 3规范中,可以使用annotation的方式为servlet注入session bean:
@EJB
private UserAgentRemote userAgent;
但是,我在JBoss 4.2下试验的结果,发现只能在EJB层进行注入(也就是把session bean注入到另一个EJB),而不能注入到servlet。但我在网上发现,有人说Glassfish和OpenEJB都已经支持这种注入。
继续搜索的结果是:
JBoss-4.2.2 GA is not a JEE 5.0 server. The @EJB annotation is supported only in the EJB layer (and not in web or application client).
看来这个是正解。
讨论原文在:
http://www.coderanch.com/t/163667/EJB-Certification-SCBCD/certification/EJB-annotation-from-servlet-JBoss
2 使用JPA作为持久化解决方案时,发现在表中新建一条记录,字段的默认值并不会被使用。举例来说,在数据库中该字段的默认值为50,但使用JPA创建一条记录后,表中新记录的字段为0,默认值没有被使用。
在网上搜索,hibernate的解决方案是在hbm.xml中设置
dynamic-insert="true" dynamic-update="true"
原文见此:
http://blog.csdn.net/zhaoyh82/archive/2008/06/05/2514517.aspx
但JPA怎么解决,一直没有找到。虽然自己为POJO的域设置一个默认值也能解决问题,但这造成了代码和数据库定义的重复,希望能找到更加优雅的解决方案。各位博雅君子,有以教我?