与所有其他与一对一属性映射有关的问题相比,我不知道我的问题有什么特别之处,但是即使查看了这些问题,我仍然无法在这里解决我的DB2问题。我有一套复杂的实体继承,除了这个小小的关系外,其他所有东西都起作用。
@Entity
@Table(name = "ORDER_ITEMS")
public class OrderItem {
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToOne(cascade = CascadeType.ALL, optional = true)
@PrimaryKeyJoinColumn(name = "ID", referencedColumnName = "ORDER_ITEM_ID")
private OrderCoreItem coreItem;
}
@Entity
@Table(name = "ORDER_CORE_ITEMS")
public class OrderCoreItem {
@Id
@GeneratedValue(generator = "foreign")
@GenericGenerator(name = "foreign", strategy = "foreign",
parameters = @Parameter(name = "property", value = "orderItem"))
@Column(name = "ORDER_ITEM_ID")
private Long id;
@OneToOne(mappedBy = "coreItem", optional = false)
private OrderItem orderItem;
}
OrderItem item = new OrderItem();
OrderCoreItem coreItem = new OrderCoreItem();
coreItem.setOrderItem(item);
item.setCoreItem(coreItem);
orderItemRepo.save(item);
老实说,我在这里看不到其他问题。有人吗?