Sie verwenden find
, wenn Sie eine Entität nach Primärschlüssel suchen möchten. Das bedeutet, dass Sie genau wissen, wonach Sie suchen, Sie möchten es nur aus der Datenbank herausholen.
Sie verwenden createQuery
, wenn Sie nach Entitäten suchen möchten, die Kriterien verwenden, oder wenn Sie eine JPQL-Anweisung verwenden möchten, um zu definieren, was Sie zurückbekommen. Daher würden Sie die Abfrage verwenden, wenn Sie eine Entität oder eine Sammlung von Entitäten abrufen möchten, die bestimmten Bedingungen entsprechen.
Mit der Methode createQuery
können Sie eine JPQL-Anweisung erstellen, die ausgeführt wird. Die erlaubte JPQL-Anweisung ist viel dynamischer als die von find
. Zum Beispiel in der folgenden Tabelle:
Sie können eine Abfrage ausführen, um die Katze nach ihrem Namen zu suchen.
%Vor% Mit der Methode find
können Sie ein Objekt nur mit seinem Primärschlüssel abrufen. Um die Methode find
für die obige Tabelle zu verwenden:
Kurz gesagt, createQuery
ermöglicht es Ihnen, Entitäten dynamischer abzurufen, während find
Sie auf die Suche nach einer Entität mit einer bekannten ID beschränkt.
Tags und Links java jpa entitymanager