모든 하위 연결이 필요없는 개체를 가져 오는 데 문제가 있습니다.
은 내가
게으른로드가 작동하지 않습니다. - 모든 연결이 아니라 부모 개체 만 필요합니다.
@Entity @Table(name = "Sequences") public class Sequence { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "Id_Sequence", unique = true, nullable = false) private long Id_Sequence; private Date ....; private Date ....; private String ....; private String ....; private String ....; private int ....; private int ....; private double ....; private double ....; @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) private Set traceSequences = new HashSet(); @ManyToOne(cascade = CascadeType.ALL) private Site site; public constructor... public set.. public get..
이 난 단지 내 순서 표 협회
순서없이 사이트 개체를 필요
@Entity @Table(name = "Sites") public class Site { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "Id_Site", unique = true, nullable = false) private long Id_Site; private String ...; private boolean ...; private long ...; private Date ...; private Date ...; private String ...; @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) private Set sequences = new HashSet(); @ManyToOne private ... ...; @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) private Set ... = new HashSet(); @ManyToOne private ... ...; public constructor... public set.. public get..
나의 수준의 사이트가나는이 오류가 발생할 수
@Override public Site findSiteByName(String Name_Site) { List sites = entityManager.createQuery("SELECT s FROM Site s").getResultList(); for (Site item : sites) { if (item.getNom_Site().equals(Name_Site)) { return item; } } return null; }
: 0 그래서, FetchType.Lazy를 사용하고, 내 메서드를 호출 할 때 xxx.xxx.xxx :
가 게으르게 역할의 컬렉션을 초기화하지 못했습니다. xxx.xxx.site.Site.sequences는 프록시를 초기화 할 수 없습니다 - 나는 FetchType.EAGER를 사용할 때
이, 나는이 사이트 개체를 얻을 수있는 세션을,하지만 난 모든 시퀀스 객체, 그리고 다른 협회의 모든 개체를 얻을 (내가 아는 정상이야)
게으른 주석이 작동하지 않는 이유를, 어떤 사람은 알고하십시오, 그리고 JPA 세션이 닫힌 후에 데이터를 얻을하려고 할 때이 게으른 오류가 발생이 문제를
도움이 될 수 있습니다. 지연로드 **는 ** 작동합니다 : 이것이 오류를 발생시키는 이유입니다. 이후의 코드 중 일부는 지연 연결 (예 : JSON Serializer)에 액세스하려고 시도하며 세션이 없으므로로드 할 수 없습니다. –