我正在使用实体管理器将数据保存到数据库中。数据插入成功,但是当尝试获取数据时,它不会获取子数据。
Incident.java
@Entity
@Table(name = "Incident")
public class Incident {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "incidentID")
private Integer incidentID;
@Column(name = "incidentTitle")
private String incidentTitle;
@Column(name = "date")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date incidentDate;
@Column(name = "incidentContent")
private String incidentContent;
@ManyToOne
@JoinColumn(name = "countryID")
private Country country;
// Getter and setters
}
Country.java
@Entity
@Table(name="Country")
public class Country {
@Id
@Column(name="id")
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id;
@NotNull
@Column(name = "name")
@Size(min = 8, max = 100)
private String name;
// getter and setters
}
DAO.java
public Incident addIncident(Incident incident) {
em.getTransaction().begin();
em.persist(incident);
em.flush();
em.getTransaction().commit();
return incident;
}
当我将数据添加到事件表中时,countryId已成功添加但当我尝试获取相同的记录时,countryId会出现,但名称不会出现。
但是当我尝试更新相同的记录或退回服务器或重新部署应用程序时,所有数据都会与名称一起成功。
无法理解这个问题。
你能帮我吗?