恶劣围绕 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 python天天向上类似问题,但没有清零
    • ¥30 3天&7天&&15天&销量如何统计同一行
    • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
    • ¥15 C#调用python代码(python带有库)
    • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
    • ¥15 活动选择题。最多可以参加几个项目?
    • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
    • ¥15 vs2019中数据导出问题
    • ¥20 云服务Linux系统TCP-MSS值修改?
    • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)