Java JPA级联合并不持久化属性
我在OpenJPA2.0上有一个实体Java JPA级联合并不持久化属性,java,persistence,cascade,openjpa,Java,Persistence,Cascade,Openjpa,我在OpenJPA2.0上有一个实体 @Entity @Table(name = "os_wfentry") @SequenceGenerator(name = "jwe_seq", sequenceName = "jwe_seq", initialValue = 10, allocationSize = 1) public class JPAWorkflowEntry implements WorkflowEntry, Serializable { private static fi
@Entity
@Table(name = "os_wfentry")
@SequenceGenerator(name = "jwe_seq", sequenceName = "jwe_seq", initialValue = 10, allocationSize = 1)
public class JPAWorkflowEntry implements WorkflowEntry, Serializable {
private static final long serialVersionUID = -755511983025049452L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "jwe_seq")
private long id;
@Column(name = "name")
private String workflowName;
@Column(name = "state")
private Integer workflowState;
@Column(name = "version")
private Integer version;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "entry")
private final List<JPACurrentStep> currentSteps;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "entry")
private final List<JPAHistoryStep> historySteps;
public JPAWorkflowEntry() {
currentSteps = new ArrayList<>();
historySteps = new ArrayList<>();
}
(理论上)这一切都是正确的;但当我尝试保存(或更新)JPAWorkflowStore的一个新实例时,它有一个非空的(当前或历史)步骤列表,步骤列表属性在db上不是persistend,它总是一个空列表。你能帮助我吗??我做错了什么???您需要为您的JPACurrent和JPAHistory指定@JoinColumn(name=“id”,nullable=false)
您所做的是@Column(name=“entry\u id”)我没有看到“entry\u id”映射到JPAWorkflowEntry中的任何cöColumn,我的错误是我没有在实体
JPAWorkflowEntry
@ManyToOne
@Column(name = "entry_id")
protected JPAWorkflowEntry entry;