【问题标题】:weblogic 10.3: EJB JAR is getting deployed as "Library" and not "EJB"weblogic 10.3:EJB JAR 被部署为“库”而不是“EJB”
【发布时间】:2009-11-14 20:13:48
【问题描述】:

在 Weblogic 10.3 中,部署了包含以下 EJB 以及持久性文件的 JAR。但是 Weblogic 将它部署为类型“库”而不是“EJB”,这不是我想要的。

package com.sajee;
import javax.persistence.*;

@Entity
@Table(name="REGISTRAR")

public class Registrar implements java.io.Serializable
{
    private int courseId, registered;
    public Registrar ( ) { }

    @Id
    @Column(name="courseId")
    public int getCourseId( ) { return courseId; }
    public void setCourseId(int pk) { courseId = pk; }

    @Column(name="number_students_registered")
    public int getRegistered( ) { return registered; }
    public void setRegistered(int reg) {registered = reg; }

}

<persistence>
<persistence-unit name="SRS" transaction-type="JTA">
    <jta-data-source>myDataSource</jta-data-source> 
    <non-jta-data-source>myDataSource</non-jta-data-source> 
    <properties>
        <property name="openjpa.jdbc.DBDictionary" value="derby" /> 
    </properties>
 </persistence-unit>
</persistence>

关于我做错了什么有什么想法吗?我该如何解决这个问题?

【问题讨论】:

    标签: java ejb-3.0 weblogic weblogic-10.x


    【解决方案1】:

    上面的类并不是真正的 EJB,没有 EJB 注释或描述符。它与 EJB 2.x 中的实体 Bean 不同。

    您可以使用无状态 EJB 来管理带有无状态注释或 XML 描述符的 JPA 实体。

    【讨论】:

    • 我假设注释就足够了。我还需要向上面的类添加什么才能使其成为 EJB 3 实体 bean?
    • 在 EJB 3 中没有等效于 EJB 2.X 的实体 Bean。如果你想要一个 EJB,你可以创建一个无状态的 bean 来管理 JPA 实体,正如我之前所说,使用 @无状态注解,它就像一个没有接口的 DAO,除非你想指定它......
    • 谢谢。我知道我哪里出错了。我希望 Weblogic 管理控制台能够标记一个 JAR,其中包含类型为“EJB”的实体,但事实并非如此。我错误地认为我的代码有问题。感谢您的澄清。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-09
    • 2018-04-25
    • 1970-01-01
    • 2010-12-09
    • 2012-04-10
    相关资源
    最近更新 更多