Я не могу добавить записи в таблицу WorkOrder. Он добавляет записи в таблицу компаний и таблицу Handyman. Наверное, что-то не так с моими аннотациями. Есть ли ошибки?
У меня есть 3 стола.
1 стол Компания, содержит названия компаний, адреса, номера телефонов и т.д.
2 разнорабочий стол, разнорабочий имя, адрес, ежечасно скорости и т.д.
3 WorkOrders, рабочий номер заказа, адрес стройплощадки,Hibernate annotations one-to-many
Столы компании и WorkOrders связаны между собой через внешний ключ в одном-ко-многим ассоциации Таблицы и Разнорабочий WorkOrders связаны между собой через внешний ключ в один-ко-многим ассоциации
WorkOrder.java
Company.java
@Entity
@Table(name="Companys_list", schema="handyman")
public class Company implements Serializable {
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="Companys_list_id")
private Set<WorkOrder> workOrders;
Handyman.java
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="Handymans_list_id")
private Set<WorkOrder> workOrders;
Вот мой JSP файл:
<s:form action="saveWorkOrder">
<s:actionerror/>
<s:textfield name="workOrder.workOrder" label="Work order number" />
<s:textfield name="workOrder.address" label="Adress/Location" />
<s:textfield name="workOrder.email" label="Email" />
<s:textfield name="workOrder.comment" label="Comment" />
<s:textfield name="workOrder.dateReceived" label="Date receved" />
<s:textfield name="workOrder.price" label="Price" />
<s:textfield name="company.companyName" label="Company name" />
<s:textfield name="handyman.handymanName" label="Handyman name" />
<s:submit value="Register" />
</s:form>
WorkOrderManagment.java
public String saveWorkOrder(WorkOrder workOrder) throws Exception
{
System.out.println("Saving work order...");
WorkOrderDaoHibernate dao = new WorkOrderDaoHibernate();
workOrder = dao.saveWorkOrder(workOrder);
return SUCCESS;
}
WorkOrderDa oHibernate.java
public WorkOrder saveWorkOrder(WorkOrder workOrder)
{
SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();
Transaction trans = session.beginTransaction();
Integer id = (Integer) session.save(workOrder);
trans.commit();
workOrder.setId(id);
session.close();
return workOrder;
}