Spring/Hibernate optimization: JPA with @OneToOne mapping
Lately I wanted to see how Hibernate actually construct sql statements. And it seems like it makes somtimes unnecessary joins. Those are my playground's results.
Repo: https://github.com/toficzak/social-app
Setup:
Simple select measure
Repo: https://github.com/toficzak/social-app
Setup:
Post repository consists of 3 methods:
Sql generated by Hibernate:
How did I measure execution time:
How did I measure execution time:
By author id: 1952090.938
By author (User provided): 1048579.671
By author (User not provided): 1021450.464
By custom query: 935087.347
My custom JPA query is the fastest option - it skips whole User join section. But why is it needed at all? Seems like an error in my design.
My custom JPA query is the fastest option - it skips whole User join section. But why is it needed at all? Seems like an error in my design.
Komentarze
Prześlij komentarz