尝试为OneToMany映射创建Spring表单时,出现以下错误
org.springframework.beans.NotReadablePropertyException:Bean类[com.medicine.yourmedics.model.Medication _ $$ _ jvst99a_7]的无效属性'reminder [0] .id':字段'reminder [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>
请帮助我。我很难找到这个问题。
最佳答案
按照@OneToMany的Java Doc ...
(可选)是否关联
应该懒惰地加载或必须热切地获取。 EAGER策略
对持久性提供程序运行时的要求是
关联实体必须热切获取。 LAZY策略是
提示到持久性提供程序运行时。
默认:
javax.persistence.FetchType.LAZY
尝试@OneToMany(mappedBy = "medication", fetch = FetchType.EAGER)
要求休眠状态将数据急切加载到列表中,而不是提供代理
关于java - OneToMany Spring 表格发行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30412079/