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.