Tag: 懒惰初始化

Hibernate无法初始化代理 – 没有Session

我的代码检索与用户相关的所有信息: SessionFactory sessionFactory = HibernateUtilities.configureSessionFactory(); Session session = sessionFactory.openSession(); UserDetails ud = null; Set userAddress = null; try { session.beginTransaction(); ud = (UserDetails) session.get(UserDetails.class, 1); userAddress = ud.getAddresses(); session.getTransaction().commit(); } catch (HibernateException e) { e.printStackTrace(); session.getTransaction().rollback(); } finally { session.close(); } System.out.println(ud.getName()); for(Address addr: userAddress){ System.out.println(“State ” + addr.getState()); } ud.getAddresses()只返回一组用户的Address es。 我的问题是:为什么即使会话已经关闭, ud对象仍然具有其值(例如,名称)? getAddresses()是UserDetails类的实例变量。 […]

尽管使用了JsonIgnore,但未能懒惰地初始化ManyToMany关系中的角色集合

我有两个业务对象有很多关系。 我正在使用REST服务来调用下面给出的DAO方法,并获得政治事件的政治指标列表。 然而,虽然DAO中的piList成功地给了我政治指标列表,但它仍然给了我一个例外 Failed to lazily intialize a collection of role… 通过参考链: org.hibernate.collection.internal.PersistentBag[0]—–>PolIndicator.piList.role org.jboss.resteasy.spi.writerException org.codehaus.jackson.map.JsonmappingException” 我在政治指标类中使用了@JsonIgnore来对抗政治事件属性,但仍然发生了懒惰的exception。 我哪里错了? PolEvent { @Id @Column(name=”SEQ_EVENT_ID”) private BigDecimal id; @Column(name=”EVENT_NAME”) private String eventName; @ManyToMany @JoinTable( name=”POL_LINK_INDCTR” joinColumns={@JoinColumn(name=”SEQ_EVENT_ID”)}, inverseJoinColumns=@JoinColumn(name=”SEQ_PI_ID”) ) private List piList; } PolIndicator { @Id @Column(name=”SEQ_PI_ID”) private BigDecimal id; @Column(name=”POL_IND_NAME”) private String piName; @ManyToMany(mappedBy=”piList”) @JsonIgnore private List eventList; } […]