在尝试为OneToMany Mapping创建弹簧形式时,我收到了以下错误
org.springframework.beans.NotReadablePropertyException:bean类的无效属性'reminder [0] .id'[com.medicine.yourmedics.model.Medication _ $$ _ jvst99a_7]:字段'提醒[0] .id'没有存在
我的Pojo药物课程是
@Entity
@Table(name = "MEDICATION")
@JsonAutoDetect
public class Medication {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id", unique = true, nullable = false)
@OneToMany(mappedBy = "medication")
private List<Reminder> reminder = new ArrayList<Reminder>();
提醒Pojo看起来像
public class Reminder {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id", unique = true, nullable = false)
private int id;
@ManyToOne
@JoinColumn(name = "medication_id")
private Medication medication;
我已经创建了一个药物表单,我试图访问提醒ID
<c:forEach items="${medication.reminder}" varStatus="loop">
<form:input path="reminder[${loop.index}].id" />
</c:forEach>
请帮帮我们。我很难在这里找到问题。
答案 0 :(得分:0)
根据Java Doc对@OneToMany ...
(可选)是否关联 应该懒散地加载或必须急切地取出。 EAGER战略 是持久性提供程序运行时的要求 必须热切地提取相关实体。 LAZY策略是一个 提示持久性提供程序运行时。
默认: javax.persistence.FetchType.LAZY 强>
尝试@OneToMany(mappedBy = "medication", fetch = FetchType.EAGER)
让hibernate急切地加载列表中的数据,而不是提供代理