[TIL] W4D2 SQL Dialect
SQL Dialect
方言設定=DBMSの使い方
ResultSet resultSet = statement.executeQuery("select * from users");
に示すように、"select * from users"
に黄色のボックスが表示され、alt+enter
を押すと次のように表示されます.Change dialect to...
を選択!Project SQL DialectをMySQLに変換し、
statement.executeQuery()
またはstatement.executeUpdate()
のパラメータでSQL文を書くと自動的に完了します!(+)Settings-Language&Frameworks-SQL Dialectsでも設定可能
方言とは何ですか。
Dialectの方言を理解する前に、デフォルトのSQLを理解してください.
SQLには標準のANCI SQLがあり、DBMSベンダーMS-SQL、Oracle、My-SQL、Postgre SQLから提供されるSQLがあります.MS-SQLはT-SQL、OracleはPL/SQLを表します.
ANSI SQLはすべてのDBMS共通の標準SQLですが、DBMSが独自の機能を追加するために作成したため、DBMSで作成したSQLはDBMSでのみ使用できます.
理解を容易にするために、例えばMYSQLは自動インクリメンタルを使用してID値を増加させることができますが、Oracleではこの機能は提供されず、シーケンスを使用して機能を提供します.同じ機能を提供しますが、提供する機能はそれぞれ異なります.これは、同じDBMSであってもバージョンによって異なる場合があります.
Dialect
デフォルトでは、JPAはJDBCレベルのSQLをアプリケーションに直接記述するのではなく、JPAによってSQLを直接記述して実行します.しかし、DBMSタイプごとにSQLが異なることは前述した.JPAがDBMSに基づいてSQLを生成する必要があるが、どのタイプなのか分からない場合は、問題が発生する可能性があります.
だからJPAにどんなDBMSを使うかを教えるのが方言の設定方法ですJPAでDialectを設定し、設定した方言を使用して各DBMSに対応する実装を提供する抽象方言クラスを提供します.
したがって、MariaDBを使用して開発し、Dialect上のMariaDBに設定し、アプリケーションのインストール時にDBMSがOracleである場合、DialectをOralceに設定すると、アプリケーションを正常に実行できます.
ソース
[SpringBootJPA]JPAを使用するために必要なDialectについて説明します。
Reference
この問題について([TIL] W4D2 SQL Dialect), 我々は、より多くの情報をここで見つけました https://velog.io/@jummi10/TIL-devcourse-W4D2-SQL-Dialectテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol