第2週-永続的な管理
h 2生成時エラー
データベース「C:/ユーザー/ユーザーアカウント/テスト」が見つかりません.事前に作成することも、リモート・データベース作成を許可することもできます(セキュリティ環境では推奨されません)[90149-200]90149/90149.
エラー発生時の解決方法
localhost:8082以降のセッションキーは保持され、接続が試みられる.
jdbc:h2:tcp://localhost/~/testまたはjdbc:h 2~/testで接続
JPAバージョン
-プロジェクト環境と一致
JPAにもバージョンがあるので、使用するSpringバージョンに応じてJPAバージョンを調整するエラーは少ないです.
バージョンはSpring>Project>Spring Bootに入り、Reference>Hibernateバージョンを表示します.
どのSpringがどのバージョンを使用するか.
Dialect
<pre>
<code>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect">
</code>
</pre>
JPAはDialectを使用し、特定のデータベースに依存しません.mysql、Oracleなどのプロパティに一致するDialectのみを使用し、Queryを変更する必要はありません.
持続性管理
EntityManagerFactoryは、Webサーバが表示されたときに一度だけ生成されます.
Entity Managerは、お客様からのリクエストが受信されるたびに作成され、消去されます.
EntityManagerは、3つのスレッド間では絶対に共有できません.
JPQL
JPAを使用すると、エンティティオブジェクトを中心に開発されます.
エンティティオブジェクトも検索されます.
すべてのデータベースデータをオブジェクトに変換して検索できません.
検索条件を含むSQLが必要です.この場合はJPQLが必要です.
持続性コンテキスト
JPAの最も重要な用語を理解する
エンティティを永続的に保存する環境
EntityManager.persist(entity);
実際のデータベースではなく永続性コンテンツにEntityを格納する方法
エンティティーマネージャを使用して永続コンテナにアクセスします.
エンティティのライフサイクル
非永続性
永続
いつまでも続く
削除
非永続状態(new/transient)
エンティティにはライフサイクルがあり、最初に作成されたオブジェクトです.
JPAとは関係ないので非永続的な状態です.
えいきゅうじょうたい
entityManager.persistenceを入力すると、永続的な状態になります.
オブジェクトを保存された永続性ステータスに変更します.
クエリーDBではなく、クエリー時にプライマリキャッシュを検索
値がある場合はプライマリ・キャッシュの結果を返し、ない場合はDBをクエリーして返します.
アプリケーション・レベルで永続性エンティティの一貫性を保証します.
データベースではなくアプリケーションの観点から提供
2479172トランザクションをサポートするために書き込み遅延を指定します.永続的な状態にしても、データベースはすぐにクエリーを失うことはありません.
Commitに遭遇するとDBに飛んでいきます.
更新
しかし、永続性コンテキストを空にするという意味ではありません.
じゅんたいきゅうじょうたい
Reference
この問題について(第2週-永続的な管理), 我々は、より多くの情報をここで見つけました https://velog.io/@shn807/2주차-영속성-관리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol