# Bidrectional mapping on fetch giving stackoverflow error

**URL:** <https://discourse.hibernate.org/t/bidrectional-mapping-on-fetch-giving-stackoverflow-error/3421>\
**Category:** Hibernate ORM\
**Created:** [November 8, 2019, 3:21am UTC](https://discourse.hibernate.org/t/bidrectional-mapping-on-fetch-giving-stackoverflow-error/3421 "2019-11-08T03:21:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![satishpatro44](https://avatars.discourse-cdn.com/v4/letter/s/b5a626/32.png) [@satishpatro44](https://discourse.hibernate.org/u/satishpatro44)\
**Post date:** [November 8, 2019, 3:21am UTC](https://discourse.hibernate.org/t/bidrectional-mapping-on-fetch-giving-stackoverflow-error/3421/1 "2019-11-08T03:21:52Z")

</div>

Employee (empCode, empAddress, email)

LoginUser (userName, isLocked, empCode(fk @oneToOne))  
LoginUser table contains empCode as foreign key.

```auto
Employee{
    private String empCode;
    private String empAddress;
    @OneToOne(fetch = FetchType.LAZY, mappedBy = "employee", orphanRemoval = true, cascade = CascadeType.ALL)
    private LoginUser
}

LoginUser{
    private String userName;
    private Boolean isLocked;
    @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
    @JoinColumn(name = "empCode")
    private Employee employee;
}

```

When I am trying to fetch a employee object, in query in console I can see it’s fetching employee details & login details too. Then, stackoverflow error

```auto
emp.getLoginUser(),

```

In trace, it’s showing it’s fetching both table, then shows StackOverflow error, even If I provide fetchtype lazy

If fetchtype is provided, then why eager loading or something else?

---

<div class="post-metadata">

**Author:** ![dhiraj07](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.hibernate.org/dhiraj07/32/175_2.png) [@dhiraj07](https://discourse.hibernate.org/u/dhiraj07)\
**Post date:** [November 8, 2019, 8:40am UTC](https://discourse.hibernate.org/t/bidrectional-mapping-on-fetch-giving-stackoverflow-error/3421/2 "2019-11-08T08:40:49Z")

</div>

> [@satishpatro44](#):
>
> Employee{ private String empCode; private String empAddress; @OneToOne(fetch = FetchType.LAZY, mappedBy = “employee”, orphanRemoval = true, cascade = CascadeType.ALL) private LoginUser }

use @JsonIgnore at Employee LoginUser column

like  
Employee{  
private String empCode;  
private String empAddress;  
@JsonIgnore  
@OneToOne(fetch = FetchType.LAZY, mappedBy = “employee”, orphanRemoval = true, cascade = CascadeType.ALL)  
private LoginUser  
}
