Hello !

Is there any way to access fields marked with lazy fetching for detached entities.
Im having some code like

@Entity
@Table(schema = "public", name = "users")
public class UsersEntity {
        private Integer userid;
        private List<OrdersEntity> orders;

@OneToMany(cascade = CascadeType.PERSIST, mappedBy = "user", fetch = FetchType.LAZY)
        public List<OrdersEntity> getOrders() {
                return orders;
        }

        public void setOrders(List<OrdersEntity> orders) {
                this.orders = orders;
        }

        @Id
        @Column(name = "userid", nullable = false)
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        public Integer getUserid() {
                return userid;
        }

        public void setUserid(Integer userid) {
                this.userid = userid;
        }
}


@Entity
@Table(schema = "public", name = "orders")
public class OrdersEntity {
        private Integer orderid;
        private UsersEntity user;

        @ManyToOne(fetch = FetchType.LAZY)
        @JoinColumn(name = "userid", nullable = false)
        public UsersEntity getUser() {
                return user;
        }

        public void setUser(UsersEntity user) {
                this.user = user;
        }

        @Id
        @Column(name = "orderid", nullable = false, length = 10)
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        public Integer getOrderid() {
                return orderid;
        }

        public void setOrderid(Integer orderid) {
                this.orderid = orderid;
        }
}

And my program code

EntityManagerFactory emf = Persistence.createEntityManagerFactory("pu1");
EntityManager em = emf.createEntityManager();
OrdersEntity order = em.find(OrdersEntity.class, .....);
em.close();
System.out.println(order.getUser());
emf.close();

And it shows null.
--
Best Regards
Evgeny K. Shepelyuk

Reply via email to