EJB3
文章平均质量分 54
buffet518
这个作者很懒,什么都没留下…
展开
-
EJB3 QL
1.Entity 获取 find()或 getReference() 1)如果知道 Entity的唯一标示符,我们可以用 find()或 getReference()方法来获得 Entity。 2)当在数据库中没有找到记录时,getReference()和 find()是有区别的,find()方法会返回 null,而 getReference()方法原创 2007-06-24 12:42:00 · 1359 阅读 · 0 评论 -
Annotation(3)
@Transient不写注解不代表不映射,而是映射,进行持久化,这源于EJB3.0良好的默认规则。如果 不想持久化成员属性,需要@Transient@Basic和FetchType注意:fetch()不是一个强制效力的属性。因为延迟加载功能必须要有类一级的代码注入。同时,延迟加载既非真正有用,也非极有价值的性能优化手段。一次性加载basic类型的成员属性才是最佳实践。@Te原创 2007-08-16 23:33:00 · 719 阅读 · 0 评论 -
实体关联(1)
@JoinColumn:如果要指向从表主键以外的字段,就必须用referencedColumnName()属性。referencedColumnName()指定的字段必须具有唯一性如果one-one关联中的相关实体使用了复合主键,则需要使用@JoinColumns注解来定义多个外键字段。 在关系数据库模型中,关系是没有方向的。因此同样的数据库shema对单向和双向的对象关系都是适用的。原创 2007-08-16 23:50:00 · 754 阅读 · 0 评论 -
Entity回调和监听器
如果在一个实体的继承层次中,entity监听器被用于基类,则所有子类都会继承这些entity监听器。 作用于基类的entity监听器会先于子类的监听器执行。而直接在entity class上定义的回调方法则在最后执行。可以使用@javax.persistence.ExcludeSuperclassListeners注解来关闭从父类继承下来的entity 监听器。@javax.persi原创 2007-08-19 17:19:00 · 656 阅读 · 0 评论 -
获取EntityManager
Persistence ContextPersistence context是由一组受托管的实体对象实例所构成的集合。它受entity manager 的管理。Entity manager追踪persistence context中所有对象的修改和更新情况,并根据指定的flush模式(本章稍后会做讨论)将这些修改保存到数据库中。一旦persistence context被关闭,所有实体原创 2007-08-29 10:22:00 · 3450 阅读 · 0 评论 -
EJB设计
设计前的考虑: 容器在集群环境下是否能够正常工作?能否提供负载均衡、故障转移(failover),以及重要数据备份的功能。 EJB容器有很多工作要做:维护事务的完整性,管理bean实例及其实例池,实施安全角色,管理资源及资源池,协调分布式操作,集群,等等。 数据库的锁机制、隔离级别以及如何在事务中管理资源? 比如,事务执行原创 2007-08-27 23:00:00 · 830 阅读 · 0 评论 -
Persistence Context
Persistence context是由一组受托管的实体对象实例所构成的集合。它受entity manager 的管理。Entity manager追踪persistence context中所有对象的修改和更新情况,并根据指定的flush模式(本章稍后会做讨论)将这些修改保存到数据库中。一旦persistence context被关闭,所有实体对象实例都会脱离EntityManager而成为原创 2007-08-31 22:28:00 · 11259 阅读 · 0 评论 -
事务的传播
Transacation Propagation如果方法抛出了一个系统异常或需要回滚的应用异常,则事务将会被自动回滚。在容器对事务采取隐式管理的情况下,EJB服务器transaction manager会自动对事务进行管理。它对事务进行协调,并将事务范围从一个EJB传播至下一个EJB,从而保证同一事务所涉及的所有EJB都会被包含在事务的工作单元之内。这样transaction mana原创 2007-09-22 14:24:00 · 672 阅读 · 1 评论 -
12个最重要的J2EE最佳实践
1. 始终使用 MVC 框架。 MVC 框架可以将业务逻辑(Java beans 和 EJB 组件)、控制器逻辑(Servlets/Struts 动作)、表示层(JSP、XML/XSLT)清晰地分离开来。良好的分层可以带来许多好处。 MVC 框架对于成功使用 J2EE 是如此重要,以致没有其他最佳实践可以与其相提并论。模型-视图-控制器(MVC)是设计 J2EE 应用程序的基础。M转载 2007-10-10 21:53:00 · 954 阅读 · 1 评论 -
EJB Timer
从定时器获取其他信息我们无法确定定时器到底是单动的还是间隔的,如果他是一个间隔定时器,那么我们也无法确定其时间间隔,或者该定时器是否已经到期过一次了 ,无法获知除下次到期以外的后续到期时间。作为解决这个问题的权宜之计,就是将这些信息放入info对象中。Stateless session bean 定时器Stateless session bean 定时器可以用于监控审计或批处理工作。原创 2007-08-02 23:40:00 · 909 阅读 · 0 评论 -
生命周期(SLSB、SFSB、Entity、MDB)汇总
1. Stateless Session Bean2.Stateful Session Bean3.Entity4.MDB原创 2007-08-01 09:35:00 · 1061 阅读 · 0 评论 -
Annotation(2)-----------在EJB3中复合主键
主键自动生成功能不支持复合键和主键类。必须在代码中手动生成键值 一:package com.titan.domain;import javax.persistence.*;@Entity@IdClass(CustomerPK.class)public class Customer implements java.io.Serializable { private String原创 2007-06-28 16:53:00 · 818 阅读 · 0 评论 -
Annotation---------@GeneratedValue(strategy=GenerationType.AUTO)
Hibernate Annotation:http://www.hibernate.org/hib_docs/annotations/reference/en/html/preface.html原创 2007-06-26 19:47:00 · 4678 阅读 · 0 评论 -
hibernate.hbm2ddl.auto
原创 2007-06-26 19:50:00 · 652 阅读 · 0 评论 -
EJB拦截器
1.定义在外部类的拦截器执行的优先级比定义在Bean类中的拦截器要高。2.拦截器方法能够访问到触发它的业务方法的相关信息, 比如方法名、调用参数。通过对业务方法调用的追踪记录,系统管理员可以分析系统的安全漏洞,或者回放某位用户执行的操作。3.EJB容器会根据定义拦截器的顺序来依次触发对它们的调用。 即各自在@Interceptors注释中的先后顺序,其次执行定义在Be原创 2007-07-17 21:09:00 · 1566 阅读 · 0 评论 -
何时不用EJB技术
1EJB技术适合单线程环境不适合多线程环境。2执行大量消耗CPU资源的操作。3.临时使用数据库。原创 2007-07-19 23:43:00 · 689 阅读 · 0 评论 -
EJB定时器及其优缺点
定时器分为两种:single-action Timer(单动定时器)和interval Timer(间隔定时器)。为了使用定时服务,1.enterprise bean必须实现javax.ejb.TimedObject接口,该接口定义了一个回调方法,ejbTimeout().package javax.ejb;public interface TimedObject{原创 2007-07-28 17:56:00 · 2372 阅读 · 0 评论 -
为什么EJB组件本身不允许设定隔离级别?
EJB3.0标准本身并未定义隔离级别相关的内容。EJB是一组件规范,它定义了业务组件的行为、组件与中间件基础框架间的契约。比如EJB组件能正确的使用不同的中间件服务。因此EJB组件是事务性组件,它能够借助于JTA实现同资源管理器的交互。比如JDBC资源管理器、JMS资源管理器。可以断定EJB本身并不是资源组件。既然隔离级别是底层资源所具有的特定行为和能力,则开发者就应该在资源API一级去指定隔原创 2007-07-27 11:52:00 · 1044 阅读 · 0 评论 -
EJB3.0中查询boolean值的问题
用的是JBoss EJB3.0,其中的EJB-QL类似Hibernate,在网上搜到:来源:http://www.programfan.com/club/showpost.asp?id=11375我定义了一个类:HibernateBooleanDemo只有两个属性:id和enabled,分别是String和boolean类型,分别对应表中的id和isEnabled列。并编写了相应的get和转载 2007-07-30 16:49:00 · 679 阅读 · 0 评论 -
继承、多态、关系
继承为了在RDBMS中支持面向对象继承,JPA定义了若干映射策略,具体如下1.各类继承结构使用单个表(Single table per class hierarchy) 在类继承结构不含有太多属性时,开发者可以考虑使用这一策略。否则,表的字段非常多。如果使用这一映射策略,应用应该能够接受存在NULL值的列。2.各个子类使用单独的表(Separate table per subcla原创 2007-07-31 23:19:00 · 1146 阅读 · 0 评论 -
EJB2.1 EJB3.0 Spring
Java annotations are the key behind EJB 3.0, which ties POJO services, POJO persistence, and dependency injection altogether into a complete enterprise middleware solution. EJB 3.0s annota原创 2008-01-29 15:24:00 · 1920 阅读 · 1 评论