Java EE : EJB Entity, Web 独立版

标签 java web ejb entity

你能告诉我怎么做最好吗? 如果我只有接口(interface),如何在 Web 应用程序上创建实体的新实例..

我有:

  • EJB(3.1) 项目
  • 网络项目

我有一个 EJB 项目,例如:

User.java

@Entity
public class User {
    //variables.. getters and setters...
}

UserManagerBean.java

@Stateful
public class UserManagerBean implements UserManager {
    //getters and setters...
    //.......
    public void addUser(User user) {
        //implemented here
    }
    //.......
}

UserManager.java

@Local
@Remote
public interface UserManager {
    //methods here
}

在网络应用程序(独立的网络应用程序)中,我有这个:

UserManager.java

public interface UserManager {
    //methods here
}

User.java

public interface User {
    //methods here
}

现在..在一个bean中...我试图从远程上下文获取我的bean并使用它们:

//ctx is created with the specific properties to access remote context..
InitialContext ctx = new InitialContext();
userManager = (UserManager)ctx.lookup("java:global/project/projectEJB/UserManagerBean");

User user = userManager.getUserById(1); //working

User new_user = (User)ctx.lookup("java:global/project/projectEJB/User"); //not working
//I know this is not supposed to work.. but how can I do this?

我知道你无法获取实体的实例,因为它不是 ejb... 我是否必须创建一个普通的用户类别,其所有内容都与projectEJB 上的一样?难道就没有更好的解决办法吗? 还有哪些其他解决方案?我搜索了谷歌,似乎每个人都知道如何做到这一点..只有我不知道...

提前谢谢您..

最佳答案

要创建 User 对象,您只需使用“new”运算符创建一个常规 Java 实例,然后调用您的 EJB 调用。

User myNewUser = new User();
userManager.addUser(myNewUser);

客户端(您的 Web 应用程序)和服务器端(EJB 3.1 项目)都必须​​知道如何序列化和反序列化 User 对象,因此每一方都必须有权访问 User 类和 EJB 接口(interface)。

在打包方面,您可以将 EJB 接口(interface)和用户实体类全部捆绑到客户端和服务器端都使用的单个 JAR 中。

另一种部署是将 Web 应用程序和 EJB 捆绑到部署在同一 JVM 内的单个应用程序中。

关于Java EE : EJB Entity, Web 独立版,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7588804/

相关文章:

java - 横向方向无法正常工作

javascript - 什么是随机替换百度统计(Analytics)的Javascript代码来对浏览器上的网站进行DDOS攻击?

java - 集成层如何与业务层交互?

java - 部署在 Tomcat Eclipse 项目中的 war

Java:可变长度参数作为递归列表

web-services - 如何使用 NetSuite 支持案例搜索进行寻呼?

Java:跟踪用户登录 session - session EJB 与 HTTPSession

persistence - 在 JBoss AS 7 中捕获 PersistenceException 或 ConstraintViolationException

java - 将 java 对象存储为 Solr 中的字段

php - 如何回显带单引号且不带反斜杠的字符串