开发者社区> 问答> 正文

JPA一对多保存维护端时,报被维护端属性为空异常

表A

@ManyToOne
private B b;
表B

@Column(length = 10, nullable = false, unique = true)
private String name;

@OneToMany(cascade = CascadeType.REFRESH, mappedBy = "b")
private Set alist;
Service(已加入@Service和@Transactional)

A a = new A();

a.setB(new B(1));

service.save(a);

这时报错:

not-null property references a null or transient value : com.entity.B.name

可是我在JUnit里面用同样的确可以 ,这是怎么回事啊 @红薯

展开
收起
a123456678 2016-03-17 14:16:15 2499 0
1 条回答
写回答
取消 提交回答
  • 具体功能不明白你的流程,其实你如果是一次性获取出来,然后打印出来是可以的,你可以测试一下,但是如果你保存的对象在另一个方法中去使用其映射的部分,可能是获取不到的。现实项目中经常出现这样问题

    2019-07-17 19:05:20
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
面向失败设计 立即下载
对象的生命期管理 立即下载
事务、全局索引、透明分布式 立即下载