割り当て:Javaアプリケーションは生成(つまり、手動の割り当て)を担当します
ネイティブ:基礎となるデータベースは、識別子を自動的に生成します。それがmysqlの場合、それはauto_incrementであり、それがOracleの場合、それはシーケンスなどです。
操作する場合、hibernate.cfg.xmlファイルを組み合わせる必要があります。データベース内のhbm2ddl.autoプロパティが更新されている場合、主キーを設定して自動的に増加することは問題ありません。しかし、それが作成された場合、2回目に手動で変更されていない場合、バグが発生する可能性があります。
一般的に言えば、Javaデータ型に従うことができます。
最もエラーが発生しやすいデータ型は、日付とタイムスタンプです。
- 日付タイプは、java.util.dateまたはjava.sql.dateタイプにマッピングできます。代表日:yyyy-mm-dd
- java.util.timeおよびjava.sql.time:HH:mm:ssで表される時間の時間型マップ
-TimesAampはjava.util.dateまたはjava.sql.timestampタイプにマッピングできます。
AZIデータベースのデータベースタイプを変更する方法は?
xx.hbm.xmlファイルのクラスオブジェクトのプロパティのタイププロパティを変更します。 Hibernateに付属のデータ型に変更するだけです。
これは、冬眠によってサポートされているオブジェクトタイプの要約です。
操作するときは、対応するAPIに従う必要があります。
MySQLは標準のCLOBタイプをサポートしていないことに注意する必要があります。 MySQLでは、テキスト、メディアテキスト、ロングテキストタイプを使用して、長さ255を超える長いテキストデータを表します。
エンティティクラスのオブジェクトは、ユーザー定義のクラスに属します
のように:
<コンポーネント名= "アドレス"> <プロパティ名= "postcode" column = "postcode" /> <プロパティ名= "電話"列= "電話" /> <プロパティname = "colummen =" address " /> < /component>
つまり、ユーザー定義のタイプになると、シンプルなプロパティタグではなく、xx.hbm.xmlファイルでコンポーネントタグを使用する必要があります。これに注意を払う必要があります。
ここでは、主にセッションに一般的に使用されるいくつかのAPIを使用します。保存、更新、削除、取得/ロードなど
- 保存:直接session.save(オブジェクトのインスタンス)を呼び出す
-GET/LOAD:session.get/load(xx.class、識別子);この識別子がプライマリキーに対応する値にすることができます
- 更新:session.update(オブジェクトのインスタンス)
- 削除:session.delete(オブジェクトのインスタンス)
-1。キャッシュを考慮せずに、GETメソッドは、呼び出された直後にSQLステートメントをデータベースに送信し、永続オブジェクトを返しますが、ロードメソッドは呼び出された後にプロキシオブジェクトを返します。プロキシオブジェクトは、エンティティオブジェクトのIDのみを保存し、該当するオブジェクトの非プリマリーキー属性を知っている場合にSQLステートメントを発行します。
-2。データベースに存在しないデータをクエリすると、GETメソッドはnullを返します。
上記は、冬眠シングルテーブル操作の例の分析に関するこの記事のすべての内容です。誰にとっても役立つことを願っています。興味のある友人は、このサイトの他の関連トピックを引き続き参照できます。欠点がある場合は、それを指摘するためにメッセージを残してください。このサイトへのご支援をありがとうございました!