클라이언트 연결 EJB 오류 메시지 2

2028 단어 ejbJUnit

			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

좋은 웹페이지 즐겨찾기