gpt4 book ai didi

Java EE : EJB Entity, Web 独立版

转载 作者:行者123 更新时间:2023-12-02 08:10:05 25 4
gpt4 key购买 nike

你能告诉我怎么做最好吗?如果我只有接口(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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com