首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JPA @ManyToOne CascadeType.PERSIST

JPA @ManyToOne CascadeType.PERSIST
EN

Stack Overflow用户
提问于 2018-10-26 18:49:18
回答 1查看 106关注 0票数 0

Hallo我有一个带有@ManyToOne Relations的实体

代码语言:javascript
复制
@Entity
public class TerminEntity extends AbstractEntity implements Serializable {


    @ManyToOne(cascade = CascadeType.PERSIST)
    @JoinColumn(name = "PERSON_ID")
    private PersonEntity person;

@MappedSuperclass   
public abstract class AbstractEntity implements Serializable {
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "termineIdGenerator")
    @SequenceGenerator(name="termineIdGenerator", sequenceName =    "SEQ_TERMINVERWALTUNG")
   private Long id;

当我尝试使用数据库中不存在的PersonEntity来持久化TerminEntity时,我得到

java.lang.IllegalStateException:在同步期间,通过未标记为cascade PERSIST的关系找到新对象: TerminEntity(person=PersonEntity

为什么?@ManyToOne(cascade = CascadeType.PERSIST)注释有什么问题?

在Oracle Weblogic 12c上运行

EN

回答 1

Stack Overflow用户

发布于 2018-10-26 19:19:52

我不知道为什么,但在将注释更改为

代码语言:javascript
复制
@ManyToOne(optional = false, cascade = { CascadeType.PERSIST, CascadeType.MERGE,   CascadeType.REFRESH })
@JoinColumn(name = "PERSON_ID", referencedColumnName = "ID", nullable = false) 

持久化是可行的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53007063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档