sách gpt4 ai đã đi

java - 在 Java 中更新 ManyToMany jointable

In lại 作者:行者123 更新时间:2023-12-04 00:33:42 26 4
mua khóa gpt4 Nike

我使用 netbeans 生成实体和门面。下面是一个有效/更新的例子:

我有 2 个表,它们由一个连接表连接在一起:

用户

主键:用户ID

loại

主键:类别ID

用户类别

复合PK:userID |类别ID(没有其他列)

更新连接表的方法,处理两边的关系:

    //set up user Categories
List categoryList = new ArrayList();

//get all the current categories for the current user
categoryList.addAll(user.getCategoryList());

//clear out user for that type (to reset)
for(Category c : categoryList){
tempUserList.clear();
tempUserList = c.getUserList();
tempUserList.remove(user);
c.setUserList(tempUserList);
categoryFacade.edit(c);
}

categoryList.clear();
//where selectedCategoryListString is a list of category names
for(String s : selectedCategoryListString){
categoryList.add(categoryFacade.findByCategoryName(s));
}

for(Category c : categoryList){
tempUserList.clear();
tempUserList = c.getUserList();
tempUserList.add(user);
c.setUserList(tempUserList);
categoryFacade.edit(c);
}
user.setCategoryList(categoryList);
userFacade.edit(user);

上面的工作,它照顾了关系的双方。我被困的地方在下面。由于额外的“年”列,“技能”没有方法“.getUserList()”。相反,它有一个“.getUserSkillList()”。我不知道应该如何像上面那样更新连接表。我们可以假设“年”列每次都设置为“”(空白)。

下面:有问题的表/关系:

用户

用户ID

技能

技能编号

用户技能

用户ID |技能ID |年

重要的是:用户有一个用户 ID。 Skill有一个skillID,UserSkill有一个由userID和skillID以及其他列组成的复合主键;年。

1 Câu trả lời

如果您使用的是 hibernate,只需在 Người sử dụng 类的 UserSkill 属性上添加 Cascade.UPDATE 即可解决该问题。

但是,由于您没有使用 hibernate ,您可以手动完成它。更新 Người sử dụng 时,检索与其相关的那些 UserSkills 并更新它们。

如果您在这样做时遇到任何具体问题,请告诉我更新我的答案

关于java - 在 Java 中更新 ManyToMany jointable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15846686/

26 4 0
Bài viết được đề xuất: Biến nào tương thích với toán tử >>
Bài viết được đề xuất: domain-driven-design - DDD 存储库的优缺点
Bài viết được đề xuất: java - 使用 java Executor 接口(interface)的多线程方法
Bài viết được đề xuất: java - ProxyFactoryBean 为 Target 类返回空类对象
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com