对于我们的项目,我们有一个层架构。DAO 层与数据库通信并获取存储的实体。Service-Layer 与 DAO-Layer 通信以获取实体并实现更复杂的方法。然后 View-Layer 与 Serivce-Layer 通信以获取所需的信息。
实体部分:
@Entity
public class Operation implements Serializable {
private Integer id;
@GeneratedValue
@Id
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
private List<Participation> participations;
@OneToMany
public List<Participation> getParticipations() {
return participations;
}
public void setParticipations(List<Participation> participations) {
this.participations = participations;
}
DAO 层:
@Override
public Operation read(int id) {
return this.em.find(Operation.class, id);
}
服务层:
@Override
public Operation getOperation(Integer operationId)
{
Operation operation = operationDAO.read(operationId);
//operation.getParticipations();
return operation;
}
视图层:
Operation o = opService.getOperation(operationId);
operation.getParticipations();
在没有视图层的情况下使用它,缺少参与列表。如果我添加愚蠢的代码,那么对象将被正确转发并且参与列表可用。
我无法向自己解释为什么对象没有正确转发?你能帮助我吗?提前谢谢。
编辑:对象的所有其他属性/字段都正确转发(可能很重要)