2016-07-21 2 views

Antwort

1

Es gibt eine Welt der Unterschied zwischen den beiden. Ich werde mein Bestes versuchen, es dir zu erklären.

Zum Schreiben einer MySQL-Abfrage müssen Sie in Tabellenform denken, während Sie bei einer Hibernate-Abfrage in Objekten denken müssen.

Wenn Sie MySQL-Abfragen in Ihren Java-Code eingebettet haben, wenn Sie versuchen, Ihre Datenbank auf eine andere umzustellen (zB Oracle), funktionieren Ihre Abfragen möglicherweise nicht mehr. Dies liegt daran, dass verschiedene Datenbankanbieter unterschiedliche Syntax haben, die sie benötigen, um dasselbe Ziel zu erreichen.

Im Falle einer Hibernate-Abfrage müssen Sie jedoch nur die entsprechende Eigenschaft in der Hibernate-Konfigurationsdatei ändern. Da Sie Abfragen in Bezug auf Objekte schreiben, generiert Hibernate automatisch das entsprechende SQL, das für die Arbeit mit der zugrunde liegenden Datenbank erforderlich ist.

Ein weiterer wichtiger Unterschied zwischen den beiden (oder zwischen Hibernate und einer spezifischen Datenbank-Abfragesprache) ist die Art und Weise, wie Joins ausgeführt werden. Wir können den Punktoperator in Hibernate Query Language (HQL) verwenden, um auf die Eigenschaften eines Komponentenobjekts zuzugreifen, ohne explizit eine JOIN-Klausel wie in einer bestimmten Abfragesprache angeben zu müssen.

Außerdem gibt es Tonnen von Unterschieden zwischen den beiden und in keiner Weise können sie alle hier zusammengefasst werden.