Hibernateメモ-1


A org.hibernate.SessionFactory is used to obtain org.hibernate.Session instances. A org.hibernate.Session represents a single-threaded unit of work. The org.hibernate.SessionFactory is a thread-safe global object that is instantiated once.
 
If you give the org.hibernate.SessionFactory a name in your configuration, Hibernate will try to bind it to JNDI under that name after it has been built. Another, better option is to use a JMX deployment and let the JMX-capable container instantiate and bind a HibernateService to JNDI. Such advanced options are discussed later.
 
 
1.ユーザークラスライブラリを通してフレームワークのJarパッケージの集団導入を組織し、管理しやすい
 
2.各バージョンのjarダウンロードアドレス:http://sourceforge.net/projects/hibernate/files/
 
3.hibernate-annotations-3.4.0.GAダウンロードアドレス:
  http://www.brothersoft.com/hibernate-annotations-download-69011.html
annotationを使用する場合:
hibernate-annotations.jar
hibernate-commons-annotations.jar
ejb3-persistence.jar
 
4.Hibernate 2.xでは、マッピング関係を表すメタデータがXMLテキストファイルに保存する場合が多い.もう1つの方法はXdocletである、コンパイル時にJavadocのソースコード注釈情報を利用して前処理を行うことができる.現在、新しいJDK規格(JDK 1.5以上)でも同様の注釈機能がサポートされているが、これに比べて多くのツールがより強力でより使いやすいサポートを提供している.IntelliJ IDEAとEclipseを例として、これらのIDEツールはJDK 5.0注釈機能に自動完成と文法ハイライト機能を提供する.注記はバイトコードに直接コンパイル、実行時(Hibernateでは起動時)にこれらの注記を反射により読み取るため、外部XMLファイルは不要となる.
 
5.hbmファイルから注釈への移行プロセスを簡略化するために、構成メカニズムは、注釈およびhbmファイルで繰り返されるマッピングを自動的に検出します.デフォルトでは、hbmファイルの宣言はクラスの注釈メタデータよりも優先されます.この優先度の設定はクラス単位です.あなたもhibernateを通ることができます.mapping.precedenceはこの優先度を変更します.デフォルトの値はhbm,classである、class,hbmに変更すると、競合が発生するとクラス内の注釈はhbmファイルよりも優先度が高くなる.
 
6.JPAはインタフェースの規範であり、「天下を統一しよう」とする規範であり、hibernateの著者も参加している.
 
7.slf 4 j、サラ風4 j、ははは、読み方が面白くて、slfは1組のインタフェースの規範で、また規範で、また標準で、すごいです
 
8.SessionFactory-スレッドは安全、Session-スレッドは安全ではない
 
9. 
10. 
11.hibernateはJDBCのchecked exceptionをunchecked exceptionに変換するので、上位コードの操作がすっきり
 
12.hibernateはdialectに基づいてsqlを生成するのでdialect設定が重要
 
13.反射によってクラスをインスタンス化するとき、パラメトリック関数の有無を覚えておいてください.ibatisのとき、この問題に遭遇したことがあります.今印象的です.
 
14.< property name="current_session_context_class">threadはgetCurrentSession()のみでSessionを得ることができ、このようなsessionはマルチスレッドでデータ共有の問題を解決するのに適しており、共有の混乱を生じにくい
 
15.get()-->一級キャッシュ-->db-->null;load()-->一級キャッシュ----->2級キャッシュ-->db-->exception