私はすべての子の関連付けなしで必要なオブジェクトを取得するのに問題があります。
私は私のクラスのサイトを持っている
遅延ロードが機能しません - すべての関連ではなく、親オブジェクトのみが必要
@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..
ので、私は私が
@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..
を持っている私のシーケンステーブルに
協会シーケンスなしでサイトオブジェクトを必要とします私はこのエラーを取得
@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シリアライザなど)にアクセスしようとしていますが、セッションがないためロードできません。 –