Java JPA级联合并不持久化属性

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

我在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 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;