有谁知道Java类在POJO、EJB和EJB3中是什么样子的吗?我正在尝试理解这些java技术,但遇到了麻烦。如果我能看到这三个工具的实现会是什么样子,我希望这会有所帮助。
发布于 2009-07-22 06:58:40
Java 是Plain-Old-Java-Object的缩写,它只是一个普通的类,而不是那些需要以特定方式更改类以使其与其框架协同工作的旧技术。
class MyService {
public String sayHello() { return "hello world"; }
}因此,POJO可以在任何可以使用普通类的地方使用。但是,如果您想要在它们的基础上构建企业应用程序,您仍然需要一些框架- Spring是一个可以直接与POJO一起工作的框架的一个很好的例子。
EJB2不再相关,因此您可以忽略它-除非您需要维护一些遗留代码。为了满足您的好奇心,上面的示例需要几个类和xml描述符才能运行-很容易看出它为什么会过时。
EJB3是用于开发企业应用程序的最新标准,它取代了EJB2,并基于获取POJO并对其进行注释的概念,以便它们可以在企业应用程序中使用。
@Stateless
class MyService {
public String sayHello() { return "hello world"; }
}正如您所看到的,它与POJO非常相似。事实上,大多数为EJB3编写的应用程序都可以很容易地转换为使用Spring,通常情况下,其他方式也是如此。
发布于 2009-07-22 05:22:14
途径:http://swik.net/POJO+ejb3
EJB3实体是普通的POJO。实际上,它们代表与Hibernate持久化实体完全相同的概念。它们的映射是通过JDK5.0注释定义的(覆盖的XML描述符语法在EJB3规范中定义)。注释可以分为两类,逻辑映射注释(允许您描述对象模型、类关联等)以及物理映射注释(描述物理模式、表、列、索引等)。我们将在下面的代码示例中混合来自这两个类别的注释。EJB3注释位于javax.persistence.*包中。大多数兼容JDK5的集成开发环境(如Eclipse、IntelliJ IDEA和Netbeans)可以为您自动完成批注接口和属性(即使没有特定的" EJB3“模块,因为EJB3批注是普通的JDK5批注)。
例如:http://www.laliluna.de/ejb-3-tutorial-jboss.html
@Entity
@Table(name="book")
@SequenceGenerator(name = "book_sequence", sequenceName = "book_id_seq")
public class Book implements Serializable {实体定义这是一个实体bean。第二个定义表名。最后一个定义了一个序列生成器。
发布于 2009-07-22 05:27:07
POJO
public class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
// setter & getter for age omitted
public String toString() {
return "Person " + name;
}
}这也可以用作EJB3。
关于EJB2,请忘记它的存在,不要在它上面投入任何时间,除非你是绝对必要的(例如,在遗留代码上工作)。
https://stackoverflow.com/questions/1163139
复制相似问题