私の歴史と今

振り返ると恥ずかしくなるのが私の歴史。だけどそのときは真面目に書いていた訳でね。そんな今の私を書いていく。

Hibernate Sessionの各メソッド

Sessionの各メソッドサマリ

http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Session.html

Transient instances may be made persistent by calling save(), persist() or saveOrUpdate().

以下のメソッドを呼ぶと、状態が transient --> persistent に遷移する。

    • save()
    • persist()
    • saveOrUpdate()
Persistent instances may be made transient by calling delete(). 

以下のメソッドを呼ぶと、状態が persistent --> transient に遷移する。

    • delete()
Any instance returned by a get() or load() method is persistent. 

以下のメソッドを呼ぶと、状態が persistent オブジェクトを取得できる。

    • get()
    • load()
Detached instances may be made persistent by calling update(), saveOrUpdate(), lock() or replicate().

以下のメソッドを呼ぶと、状態が detached --> persistent に遷移する。

    • update()
    • saveOrUpdate()
    • lock()
    • replicate()
The state of a transient or detached instance may also be made persistent as a new persistent instance by calling merge().

以下のメソッドを呼ぶと、transient, detachedオブジェクトからpersistentオブジェクトを別オブジェクトとして取得できる。

    • merge()
save() and persist() result in an SQL INSERT, delete() in an SQL DELETE and update() or merge() in an SQL UPDATE.

以下のメソッドを呼ぶと、結果的にINSERT文が発行される。

    • save()
    • persist()

以下のメソッドを呼ぶと、結果的にDELETE文が発行される。

    • delete()

以下のメソッドを呼ぶと、結果的にUPDATE文が発行される。

    • update()
    • merge()
Changes to persistent instances are detected at flush time and also result in an SQL UPDATE.

flushした時に、永続オブジェクトの変更が検知され、SQL文が発行される。

saveOrUpdate() and replicate() result in either an INSERT or an UPDATE.

以下のメソッドを呼ぶと、結果的にINSERT or UPDATE文が発行される。

    • saveOrUpdate()
    • replicate()
It is not intended that implementors be threadsafe. Instead each thread/transaction should obtain its own instance from a SessionFactory.
A Session instance is serializable if its persistent classes are serializable.
A typical transaction should use the following idiom: