恶劣围绕 2016-03-24 13:01 采纳率: 100%
浏览 496

怎样更新hibernate多对一中的一方

还是那个问题下午把查看多对一中的一方(所属类别)问题解决了但是更新不了(所属类别)?是因为我直接把对象set进去了还是别的问题?medicine是多方在其实体类中有属性private Category category;,category是一方
medicine.hbm.xml:
图片说明
category.hbm.xml:
图片说明
action类:
public class MedicineUpdateAction extends ActionSupport {

private int id; // 药品id

private String name; // 药品名称

private String medNu; // 药品编码

private String factoryAdd; // 出厂地址

private String description; // 描述

private double price; // 价格

private int medCount; // 数量

private Category category;//类别

private MedicineService medicineService = new MedicineServiceImpl();

getter和setter方法...

@Override

public String execute() throws Exception {

Medicine medicine = new Medicine();

medicine.setId(id);

medicine.setMedNu(medNu);

medicine.setName(name);

medicine.setFactoryAdd(factoryAdd);

medicine.setDescription(description);

medicine.setPrice(price);

medicine.setMedCount(medCount);

medicine.setCategory(category);

medicineService.updateMedicine(medicine);// 更新

ServletActionContext.getRequest().setAttribute("medicine", medicine);

this.addActionMessage("更新成功!");

return INPUT;

}
}

medicineserviceimpl类:

@Override

public void updateMedicine(Medicine medicine) {

medicineDAO.updateMedicine(medicine);
}

medicineDAOImpl类:

@Override

public void updateMedicine(Medicine medicine) {

Session session = HibernateSessionFactory.getSession();// 获得Session对象

Transaction transaction = null;// 声明一个事务对象

try {

transaction = session.beginTransaction();// 开启事务

session.update(medicine);// 更新药品信息

transaction.commit();// 提交事务

} catch (Exception ex) {

ex.printStackTrace();

transaction.rollback();// 事务回滚

}

HibernateSessionFactory.closeSession();// 关闭Session对象

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
    • ¥15 微信公众号自制会员卡没有收款渠道啊
    • ¥15 stable diffusion
    • ¥100 Jenkins自动化部署—悬赏100元
    • ¥15 关于#python#的问题:求帮写python代码
    • ¥20 MATLAB画图图形出现上下震荡的线条
    • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
    • ¥15 perl MISA分析p3_in脚本出错
    • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
    • ¥15 ubuntu虚拟机打包apk错误