2
Я пробую свой путь вокруг JPA, но я не могу заставить это работать так, как я их понимаю.Not Null Property Exception with JPA onetoone mapping
Сво onetoone двунаправленное отображение между Порядком и классом OrderInvoice который является обязательным ассоциация
Мои объекты помечаются как это
@Entity
@Table(name = "Orders")
public class Order {
@Id
@GeneratedValue
@Column(name = "ORDER_ID")
private int orderId;
@OneToOne(optional=false,cascade=CascadeType.ALL, mappedBy="order", targetEntity=OrderInvoice.class)
private OrderInvoice invoice;
}
@Entity
@Table(name = "ORDER_INVOICE")
public class OrderInvoice {
@Id
@GeneratedValue
@Column(name = "INVOICE_ID", nullable = false)
private int invoiceId;
@OneToOne(optional = false)
@JoinColumn(name="ORDER_ID")
private Order order;
}
Мой тестовый класс, как это.
@Test
public void createOrder() {
Order order = createOrderImpl();
assertNotNull(order);
}
private Order createOrderImpl() {
OrderInvoice orderInvoice = new OrderInvoice(new Date(), 100.0, null,
null, new Date());
Order order = new Order(100.0, "JOHN Doe's Order", new Date(), new Date(),orderInvoice);
orderDao.create(order);
return order;
}
Но я встречая ниже проблемы, когда я запускаю мой тест
javax.persistence.PersistenceException: org.hibernate.PropertyValueException: not-null property references a null or transient value: order.OrderInvoice.order
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
Caused by: org.hibernate.PropertyValueException: not-null property references a null or transient value: order.OrderInvoice.order
at org.hibernate.engine.Nullability.checkNullability(Nullability.java:95)