Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EJB:似乎我不知道';我不明白关键点_Java_Ejb_Persistence_Entity Bean - Fatal编程技术网

Java EJB:似乎我不知道';我不明白关键点

Java EJB:似乎我不知道';我不明白关键点,java,ejb,persistence,entity-bean,Java,Ejb,Persistence,Entity Bean,我是EJB和持久性方面的新手,所以如果我想问一个愚蠢的问题,请原谅。 我读了一本关于EJB和JPA的书,面对一个我根本不懂的短语: 旨在完全隔离开发人员直接处理 持久性,它(EJB)引入了一种基于接口的方法,其中 客户机代码从未直接使用具体的bean类。 相反,一个专门的bean编译器生成了 bean接口,以促进持久性、安全性、, 和事务管理,将业务逻辑委托给 实体bean实现 及 引入了容器管理实体bean的概念,其中 bean类变得抽象,服务器负责 生成子类以管理持久数据 这是什么意思: 专

我是EJB和持久性方面的新手,所以如果我想问一个愚蠢的问题,请原谅。 我读了一本关于EJB和JPA的书,面对一个我根本不懂的短语:

旨在完全隔离开发人员直接处理 持久性,它(EJB)引入了一种基于接口的方法,其中 客户机代码从未直接使用具体的bean类。 相反,一个专门的bean编译器生成了 bean接口,以促进持久性、安全性、, 和事务管理,将业务逻辑委托给 实体bean实现

引入了容器管理实体bean的概念,其中 bean类变得抽象,服务器负责 生成子类以管理持久数据

这是什么意思:

  • 专门的bean编译器生成了bean接口的一个实现

  • 服务器负责生成一个子类来管理持久数据 实际上,我不能理解生成实现/子类是什么意思,它是指在运行时吗

  • 先谢谢你

    编辑:

    最后,实体bean被建模为使用RMI和 CORBA,引入了网络开销和限制,这是不应该的 已添加到持久性对象中

    它也会陷入虚无吗?

  • 专用Bean:自从JavaEE5以来,EJB变成了注解@EJB。所有注释都像接口一样工作。这个简单的注释提供了安全性和事务管理,在编译时委托业务逻辑

  • JPA:自JavaEE5以来,不再保留实体bean。现在,若将@Entity放到pojo上,服务器将生成容器管理的实体bean,并通过持久性上下文与数据库通信

  • 1) 接口:要定义bean,您必须声明一个
    Local
    接口和一个
    Remote
    接口(如果您编写bean
    MyEJB
    ,它们必须是
    MyEJBLocal
    MyEJBRemote
    MyEJB
    将实现这两个接口)。这样,编译器生成了一些实现这些方法的派生类,这些方法只需连接到EJB服务器来检索bean并执行其方法


    我不太确定第2个版本,因为我们有太多的性能问题,所以我们结束了在会话bean中实现JDBC逻辑(我知道,我知道).

    这本书谈论的是哪个版本的EJB?它讨论了EJB的演变。第一个短语是关于EJB1.0的,第二个短语是关于EJB2.0的。它在EJB3.0中有所不同?除非您的工作场所特别需要它,否则请忘记EJB3之前的任何内容。这是一场噩梦。这是否意味着“@EJBMyBean”类似于“MyBean实现EJBInterface”,还有一个关于RMI的问题(请参阅我问题的编辑部分)和一个关于RMI的问题(请参阅我问题的编辑部分)这仅仅意味着编译器内部生成的
    存根
    类使用
    RMI
    CORBA
    连接到服务器。从客户机POV来看,实体或会话bean是远程对象,可以通过存根访问。现在它有什么不同吗?如何更改?更容易说的是名称没有更改,仍然有会话(无状态和有状态)和实体的含义相同(但实现技术不同)。