Java 如何使用BeanArrayList到另一个带有hibernate注释的bean中?

Java 如何使用BeanArrayList到另一个带有hibernate注释的bean中?,java,hibernate,hibernate-mapping,hibernate-annotations,Java,Hibernate,Hibernate Mapping,Hibernate Annotations,我想使用一个bean数组列表作为字段插入另一个bean。我得到了“通过引用映射未知目标实体属性”错误 我有两个一班。日志2。Log和all Logs元素包含一个以上的日志。log.executionid可以是多条记录,但所有logs.executionid必须不同 @Entity @Table(name = "t_logs") public class Logs { @Id @Column(name = "executionid") private String executionId; @

我想使用一个bean数组列表作为字段插入另一个bean。我得到了“通过引用映射未知目标实体属性”错误

我有两个一班。日志2。Log和all Logs元素包含一个以上的日志。log.executionid可以是多条记录,但所有logs.executionid必须不同

@Entity
@Table(name = "t_logs")
public class Logs {

@Id
@Column(name = "executionid")
private String executionId;

@Column(name = "sentdate")
@Temporal(TemporalType.TIMESTAMP)
private Date sendDate;

@Column(name = "exceptionmessage")
private String exceptionMessage;

@OneToMany(mappedBy = "executionid", cascade = CascadeType.ALL)
private List<Log> loglist;
}



@Entity
@Table(name = "t_log")
public class Log {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private long id;

@Column(name = "executionid")
private String executionId;

@Column(name = "startdate")
@Temporal(TemporalType.TIMESTAMP)
private Date startDate;

@Column(name = "enddate")
@Temporal(TemporalType.TIMESTAMP)
private Date endDate;
}
@实体
@表(name=“t_日志”)
公共类日志{
@身份证
@列(name=“executionid”)
私有字符串executionId;
@列(name=“sentdate”)
@时态(TemporalType.TIMESTAMP)
私人日期发送日期;
@列(name=“exceptionmessage”)
私有字符串例外消息;
@OneToMany(mappedBy=“executionid”,cascade=CascadeType.ALL)
私有列表日志列表;
}
@实体
@表(name=“t_log”)
公共类日志{
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
@列(name=“id”)
私人长id;
@列(name=“executionid”)
私有字符串executionId;
@列(name=“startdate”)
@时态(TemporalType.TIMESTAMP)
私人日期开始日期;
@列(name=“enddate”)
@时态(TemporalType.TIMESTAMP)
私人日期结束日期;
}
mappedBy=“executionid”错误

此字段必须引用“属性”。错误就是这么说的


它必须是mappedBy=“executionId”,字段类名而不是列名。

感谢@Guilherme-Ribeiro-Developer,这里的答案是正确的

日志表

    @OneToMany(mappedBy = "logs", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    private List<Log> loglist;

我根据你的建议改变了它。这是另一个错误。无法执行语句;SQL[n/a];约束[“FKQHMEB54EQ0BQUE9CBKD6A2KHND:PUBLIC.T_日志外键(EXECUTIONID)引用PUBLIC.T_日志(EXECUTIONID)('39c45fc9-9a29-48d0-9bf8-0c91a65a5346')”;很好!!现在您必须在数据库级别执行此工作。当然,executionid列必须是相关表的外键。您可以尝试将其与部门与员工关系进行类比。在数据库级别:一个部门必须有一名或多名员工一名员工必须在一个部门中。Jpa级别:Department class->@OneToMany Listmy数据库由hibernate自动创建。在重新创建数据库后,我删除了数据库,但没有任何更改。但在我的项目中,算法日志不能包含任何日志。
    @ManyToOne
    @JoinColumn(name = "executionid")
    private Logs logs;