JPA2.0でネイティブクエリを使用するタイミングと使用しないタイミングについて非常に混乱しています。ネイティブクエリを使用すると、JPAキャッシュと同期しなくなる可能性があるという印象を受けました。JPQLまたはCriteriaBuilderクエリで同じことを実行できる場合、ネイティブクエリを使用する正当な理由はありますか?同様に、JPQLまたはCriteriaBuilderで同じことを実行できる場合、ネイティブクエリを使用することに危険はありますか?そして最後に、JPAキャッシュと同期しなくなるまでネイティブクエリを使用することに危険がある場合、JPQLまたはCriteriaBuilderで同等のクエリを実行するときに同じ危険が存在しますか?
私の哲学はネイティブクエリを避けることでしたが、確かにそれらが必要な場合があります。JPQLやCriteriaBuilderでできるのなら、そうすべきだと思います。
ありがとう。