JPA坚持一个一个
我正试图用“一对一”和“多对一”的关系来维持实体JPA坚持一个一个,jpa,Jpa,我正试图用“一对一”和“多对一”的关系来维持实体 @OneToMany(mappedBy="customer", cascade=CascadeType.ALL, fetch=FetchType.EAGER) private Collection<Address> addresses = new LinkedHashSet<Address>(); @ManyToOne @JoinColumn(name="customer_id", referencedColumnNam
@OneToMany(mappedBy="customer", cascade=CascadeType.ALL, fetch=FetchType.EAGER)
private Collection<Address> addresses = new LinkedHashSet<Address>();
@ManyToOne
@JoinColumn(name="customer_id", referencedColumnName="customer_id")
private Customer customer;
@OneToMany(mappedBy=“customer”,cascade=CascadeType.ALL,fetch=FetchType.EAGER)
私有集合地址=新LinkedHashSet();
@许多酮
@JoinColumn(name=“customer\u id”,referencedColumnName=“customer\u id”)
私人客户;
问题是它在地址表中插入NULL而不是customer\u id
你能告诉我为什么会这样吗
提前谢谢。这可能意味着您没有初始化地址的客户
字段。如果这不是解决方案,请向我们展示您的代码。请展示完整的映射(没有构造函数和方法)以及用于持久化的代码。->编辑问题一个小代码将实际执行事务将是有益的!如果您不向我们展示实际持久性操作的代码,那么这只是瞎说。public void createCustomer(客户客户){em.persist(客户);em.flush();}这是创建客户的实际代码,我在地址集合ApplicationContext ApplicationContext=new ClassPathXmlApplicationContext(“META-INF/spring/app-context.xml”)中添加了地址;客户c=新客户();c.setName(“Bruce Eckel”);地址a=新地址();c.getAddresses().添加(a);a.设置地址(“潜艇街45号”);//检索服务bean CustomerService service=applicationContext.getBean(“CustomerService”,CustomerService.class);服务客户(c);哦,谢谢。我知道有一件事很简单,我能意识到:)非常感谢!