还是那个问题下午把查看多对一中的一方(所属类别)问题解决了但是更新不了(所属类别)?是因为我直接把对象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对象
}