2008年9月22日 星期一

JavaEE HttpSession 用法

先建立一個儲存使用者資訊用的POJO物件,如:

使用WebApp的Servlet或Spring Controller,建立Login及Logout的動作,

Login:


Logout:

2008年9月19日 星期五

Hibernate 自定 generator

Hibernate的generator tag 是用來定義如何Hibernate物件的主鍵
如:


使用increment可以使主鍵每次自動加一。
然而class也可以是自己設計的 java CustGenerator class
要設計一個generator class 必須 implement兩個interface:
public class GreenBookGroupGenerator implements IdentifierGenerator, Configurable

IdentifierGenerator interface 提供 的方法
public Serializable generate(SessionImplementor session, Object obj) throws HibernateException
會在每次需要主鍵時被呼叫,obj即是要被指定id的Hibernate entity POJO
要return Serializable id回去。

Configurable interface 提供 的方法
public void configure(Type type, Properties props, Dialect dialect) throws MappingException
只會在SessionFactory建立時呼叫一次,如果generator有提供param會以 key-value pair把參數
放在Properties裡傳進來:

自從Hibernate 3.3 後複合主鍵才可以使用generator tag

2008年9月4日 星期四

hibernate 關連

在hbm.xml使用many-to-one進行多對一關連
當被關連的對象是複合主鍵時,不可在many-to-one tag使用column attribute
只要在many-to-one tag下建立多個子column tag並一一指定name=主鍵欄位名稱即可
如圖: