有一种方法可以在没有加载子实体的情况下响应jax-rs中的实体吗?因为当我尝试使用JPA 2实体生成响应时,我得到以下错误:
failed to lazily initialize a collection of role: mypackage.Project.tags, could not initialize proxy - no Session (through reference chain: java.util.ArrayList[0]->mypackage.Project["tags"])
我的实体:
@Entity
@Table(name="TB_PROJECT"
public class Project {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="COD_PROJECT")
private String codProject;
@OneToMany
@JoinColumn(name="COD_PROJECT")
private List<Tag> tags;
}
我的回答:
@Path("/projects")
public class ConsultaSolicFomentoResource {
@Context
private HttpServletRequest requestContext;
@EJB
private ProjectServiceLocal projectServiceLocal;
@GET
@Path("/list")
@Produces(MediaType.APPLICATION_JSON)
public Response listProjects() {
List<Project> projects = projectServiceLocal.listProjects();
return Response.ok(projects).build();
}
}
答案 0 :(得分:0)
Yuo可能需要返回DTO而不是Response中的实际Business / doamin实体。 您的ProjectDTO实例列表将从返回的项目中初始化,只有您想要返回给客户端的属性才会被复制到DTO中。