Branch oldbranch = manager.find(Branch.class, oldBranchId);
Branch newbranch = manager.find(Branch.class, newBranchId);
User user = manager.find(User.class, userID);
try {
Collection<User> users = newbranch.getUsers();
Collection<Branch> branchs = user.getBranchs();
if (users == null) {
users = new ArrayList<User>();
}
if (branchs == null) {
branchs = new ArrayList<Branch>();
}
if (branchs.contains(oldbranch)) {
branchs.remove(oldbranch);
}
if(!branchs.contains(newbranch))
branchs.add(newbranch);
if (users.contains(user)) {
users.remove(user);
}
else
users.add(user);
newbranch.setUsers(users);
user.setBranchs(branchs);
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
但上面的EJB代码写错的时候,如下所示:
// Branch oldbranch = manager.find(Branch.class, oldBranchId);
// User user = manager.find(User.class, userID);
//
// Collection<User> users = oldbranch.getUsers();
// Collection<Branch> branchs = user.getBranchs();
//
// if (users == null) {
// users = new ArrayList<User>();
// }
//
// if (branchs == null) {
// branchs = new ArrayList<Branch>();
// }
// if (!branchs.contains(oldbranch)) {
// branchs.remove(oldbranch);
// }
// if (!users.contains(user)) {
// users.remove(user);
// }
//
// oldbranch.setUsers(users);
// user.setBranchs(branchs);
// }
会导致数据库 约束冲突。主键不唯一的错发生:但是通过JUNIT测试报的错却是:
undeclareMethod
分享到:
相关推荐
Java EJB自定义错误信息的例子,提示信息本地化的一个测试,这个代码触发调用一个状态Bean中的方法,定义了CountBean接口,调用了每一个EJB对象的count(),保证Bean正常被激活和钝化,同时还使用了累加器,以对话...
2. **在独立环境(如Tomcat或J2SE)中调用EJB** 在生产环境中,客户端可能运行在独立的服务器,如Tomcat或J2SE环境。此时,调用EJB需要额外的配置步骤: A) 首先,确保所有依赖的JAR包(如EJB接口、JBoss客户端...
在EJB中连接Oracle数据库是常见的操作,这对于开发涉及数据库交互的应用至关重要。Oracle数据库是一种广泛应用的关系型数据库管理系统,以其高性能、高可靠性著称。 在EJB中连接Oracle数据库,首先需要确保以下几个...
- **ejb-jar.xml**:EJB部署描述符,定义EJB组件的信息,如接口、实现类、安全性和资源引用。 - **client-jar**:客户端的jar文件,包含EJB接口和任何必要的本地或远程接口实现。 - **ejb-client.jar**:包含EJB...
jboss-ejb3-client.jar
EJB (Enterprise JavaBeans) 是Java平台上的企业级组件模型,用于构建可复用的服务器端业务逻辑。在本教程中,我们将讨论如何使用C++开发CORBA客户端和服务器,以及如何调用EJB。 1. **生成IDL文件**: IDL...
#### 三、实战EJB之二:开发会话Bean(无状态会话Bean) **什么是无状态SessionBean?** 无状态会话Bean是一种EJB组件类型,它不保留客户端之间的任何状态信息。每次客户端请求都会创建一个新的实例,这意味着每个...
**EJB(Enterprise JavaBeans)** 是Java EE平台的核心组件之一,主要用于构建可复用的、分布式的、安全的企业级应用程序。它为开发者提供了一种规范化的编程模型,以简化服务器端业务逻辑的开发和管理。 在标题"**...
【实战角度比较EJB2和EJB3的架构异同】 EJB,即Enterprise JavaBeans,是Java EE(企业版Java)平台的核心组件之一,用于构建可复用、分布式的服务器端应用程序。EJB2和EJB3是EJB技术的两个主要版本,它们在架构上...
在这个例子中,`MapClient` 类通过注解 @EJB 自动查找并注入 `MapServerBean` 实例,然后调用 `getMapService` 方法获取地图服务信息。 至于文件 "www.pudn.com.txt"、"G2" 和 "Java",它们可能包含了示例代码、...
配置信息:使用JBOSS和MYsql数据库,在MYsql建立一个SSH数据库,然后数据库的名字和密码在jboss里配置一下,最后配置EJB工程内的XML文件,修改为creat-drop即可在项目启动过程中自动建立创建表。
ejb-jar文件的配置信息主要包括EJB组件的基本信息、图标信息、企业级Bean信息、会话Bean信息等。通过配置ejb-jar文件,开发者可以方便地描述EJB组件的配置信息,以便更好地开发企业级应用程序。
### EJB3.0 学习之运行环境配置详解 #### 一、EJB3.0简介 EJB(Enterprise JavaBeans)3.0是Java企业级应用开发的一个重要组成部分,它代表了Java平台在服务器端组件化方面的最新进展。EJB3.0简化了前几代版本中...
特别地,EJB容器作为核心组件,负责管理EJB的生命周期,包括创建、销毁、激活、去激活、数据库连接等关键任务。 - **技术栈集成**:EJB 2.0与JSP、Servlet、JNDI、JDBC、JMS等技术紧密集成,形成完整的J2EE平台,...
本项目“EJB JSF开发员工信息系统”结合了这两者的优势,旨在创建一个高效、可扩展且易于维护的员工信息管理系统。** ### EJB(Enterprise JavaBeans) EJB是Java EE(现在称为Jakarta EE)的一部分,它提供了一种...
本系统采用Java Bean、Enterprise JavaBeans (EJB) 和JavaServer Pages (JSP) 技术构建,具备发送邮件功能,并能与MySQL数据库进行连接。下面我们将详细探讨这些技术以及它们在用户注册系统中的应用。 **Java Bean*...
【实战EJB之四 开发实体CMP(EJB 1.1规范)】 实体Bean(Entity Bean)在Java企业版(Java EE)中扮演着关键角色,它主要用于表示后端数据库中的持久化对象,比如数据库记录。在EJB 1.1规范中,实体Bean分为两种...
2. 配置JBOSS服务器进行集群部署,包括在安装时选择ejb3-clustered配置,以及在启动时指定服务器地址。 3. 将Bean部署到集群,通过将JAR文件放入特定目录来实现自动复制到其他节点。 4. 客户端通过JNDI查找并调用...
通过对ejbclient的源码研究,可以了解客户端如何查找和调用EJB,以及如何处理异常和连接管理。 7. **工具支持**: - Maven或Gradle可以用来管理和构建EJB项目,确保依赖项的正确引入。 - IDE中的EJB插件提供代码...
该方法可以理解为 EJB 2 中的 ejb-jar 配置文件中的 JNDI-Name 标签中的值。 EJB 3.0 中的 ejb-jar 配置文件 在 EJB 3.0 中,也可以通过 ejb-jar 配置文件来查找该 EJB。该配置文件是一个 XML 文件,定义了 EJB 的...