more effective entity bean(新的改进entity bean的性能的七条(EJB2.0版))

    在工业中有关于entity bean的很多FUD(Fear,Uncertainty,Doubt)。
很多机构正在不合适的使用它们,造成性能问题。这里有一些tips和
tricks让你的entity bean有更高的性能。

1.entity bean不应该由远程的客户端直接调用,而是应该被在同一进程
中的session bean和entity bean调用。鉴于此,你应该通过local
interface来调用它们,而不是remote interface。

2.尽可能使用你的容器的caching。如果你的bean是只读的,那么
让你的容器去让他们永久的caching。如果它们是最大限度的读或
读写的,许多容器有算法来处理这种情况。记住:内存是便宜的。

3.确定你的服务器上的事务运行得越短越好,并且封装你想在事务中
做的entity bean操作。这很重要因为JDBC发生在事务的开始和结束。
如果你在每次get/set操作时使用事务,你在每次方法调用时做了SQL hit。
用需要的容器管理事务属性发布session和entity bean。这将创建
在同一事务中封装了所有entity bean的session bean的事务。

4.尽量使用CMP。CMP天生的比BMP性能高。

5.如果你需要在每个事务中存取你的entity bean的所有数据,
不要在你第一次存取你的bean时取出你的所有字段的数据:你可
以通过编程来使用BMP来fine-tuning你的JDBC代码;或者如果你
的容器工具允许,你可以用CMP的方式来lazy-load你的字段。

6.如果你使用CMP,让你的容器批量的持久化你的字段。比如,
weblogic有field groups的术语。这个让你定义groups of
fields(甚至跨关系)来一起持久化,减少需要的sql量。

7.如果你使用CMP,用你的容器工具强制你的finder方法自动load
你的bean,而不是让finder和loading发生在两个分离的SQL表达
式。唯一一种你不该用这种方法的情况是你不准备从你的entity
bean读数据(如set字段,而不是get字段)。

  用上面的方法来调节你的entity bean的性能,可以创建
在数据库中建模单列的细粒度的entity bean,和建模关系到
多表的复杂的数据的粗粒度的entity bean。

阅读终点,创作起航,您可以撰写心得或摘录文章要点写篇博文。去创作
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: pojo:简单Java对象,是一种轻量级的Java对象,没有任何限制和约束,通常用于传递数据。 domain:领域模型,是指在特定领域中的对象或实体,通常用于描述业务逻辑和数据结构。 entity:实体,是指具有唯一标识的对象或实体,通常用于描述数据库中的表或文档中的记录。 bean:JavaBean,是一种符合特定规范的Java类,通常用于封装数据和提供访问方法,以便于在不同的应用中进行复用。 ### 回答2: POJO(Plain Old Java Object)是一种普通的Java对象,没有任何特定的框架或技术限制。它可以被用来表示简单的数据类,也可以被用来表示复杂的对象。POJO与其他对象不同的地方在于,它不依赖于任何特殊的接口或类,并且可以在任何Java程序中使用。POJO主要的目的是提供一种轻量级的、简单的Java对象模型来开发业务逻辑。 Domain和Entity是两个非常相似的概念,它们都是用来表示业务对象的。Domain通常被用来指代业务领域的对象,而Entity通常被用来指代数据存储的对象。这两个概念基本上都是面向对象设计中的术语,用于描述具体的管理对象。 Bean则是Java语言中的一种特殊对象,在Java中比较常见。它是一种具有一定格式的类,可以被用来描述Java对象的某些特定属性,如名称、类型、值等。Bean通常也具有Getters、Setters方法,用于对该对象进行访问和更改。Bean最常见的用法是在框架中使用,用来描述内部框架对象的属性。例如,Spring框架中使用Bean来描述应用程序的配置和组件。 ### 回答3: POJO(Plain Old Java Object)是一个普通的Java对象,它是一个没有规则限制,没有继承特定接口或类,没有被强制实现特定接口的简单Java对象。POJO不仅可以用于传输数据,而且可以具有行为,也可以包含setter和getter方法以及其他适当的方法。 Domain(领域模型)是Java中一个用于表示业务领域相关概念的对象。这些对象通常包括业务的实体和值对象等。Domain对象提供了一种描述和维护领域概念的方式,它们通常是可变的,可以比较直接地映射到持久化存储。 Entity(实体)是一个特定领域中有实际存在的东西。在面向对象的设计中,实体通常表示为一个对象。它通常有一个唯一的标识符,并具有属性和行为。在软件开发中,实体对应于数据库表或其他持久化机制,以便于数据的存储和检索。 Bean(JavaBean)是一个Java中独立于程序行为的可重用软件组件。它既可以是简单的数据持有对象,也可以是处理业务逻辑的Java类。JavaBean通常具有属性、getter和setter方法和默认无参数构造函数,以便于在IDE(集成开发环境)中进行自动化的代码生成。JavaBean通常被用于MVC架构中的Model层,它们可以被序列化为字节数组以在网络上传输,也可以被持久化到数据库中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xxcc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值