尝试为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/

10-10 13:28