What is the Open Session in View anti-pattern in Spring Boot?
PICTURE THIS: HOW TO EXPLAIN IT
Simple meaning
Boot keeps the Hibernate session open until the view or Jackson finishes rendering, so lazy loads in the serializer work.
WHY — JPA instead of guessing?
Why interviewers care about JPA:
who only read docs from people who shipped.
and tied to Backend work.
Name the idea, why it exists, then one short example.
End with when you use it and one common pitfall.
STEPS — What happens step by step?
Before you speak the answer, walk the interviewer through these steps:
- 1Boot keeps the Hibernate
session open until the view or Jackson finishes rendering, so lazy loads in the serializer work.
- 2Those hidden queries run
after you thought the transaction ended and they pin connections during JSON writing.
- 3Turn it off and
fetch what you need in the service layer.
- 4Give an example
One tiny concrete case you can say aloud.
- 5Common mistake
What juniors usually get wrong.
- 6Close
When you pick this over the alternative.
EXAMPLE — See it in action
Here's a short line you can speak, broken into clear beats:
Note: Adapt this scaffold to your own project — keep it under 60–90 seconds.
Key takeaway
Boot keeps the Hibernate session open until the view or Jackson finishes rendering, so lazy loads in the serializer work. Those hidden queries run after you thought the transaction ended and they pin connections during JSON writing.