JPQL Single-Point Association

Single-Point Association relationship like Many-To-One and One-To-One eager loads associated table. It causes N+1 Select Problem which will produce performance problem on the application. 1 Select from main query and N Selects for each associated table. N selects are unnecessary when data can be retrieved by a single select statement.

If there are thousands of records, the N+1 select statement could result to 1 Huge SELECT Statement

To fix it, change fetch type to laze
@ManyToOne(cascade={CascadeType.PERSIST},fetch=FetchType.LAZY)

Or use left join fetch in the query to load associated objects eagerly
"select s from Student s left join fetch s.guide"

You can also use batch fetching to improve performance when querying related objects.