2011年6月30日 星期四

Framework 樣板之Struts1 + Spring3 + Hibernate3 JPA教學(二)


版本:Struts1.3.10 + Spring3.1 + Hibernate3.6 JPA

包含:Displaytag、Tiles 、 OpenSessionInView 及 連接DB

資料庫:MS SQL2005

Schema:在/HibernateJPA/WebContent/dev/sql.txt,為了方便說明,僅用兩張Table。

下載: 原始碼 ,可直接從Eclipse import。
SSH(JPA)架構說明


主要架構與上一篇相同,僅列出差異的部份

src下的folder

persistence:Hibernate dao,此資料夾階由Myeclipse自動產生。

config:spring物件注入,不開放給外部修改的xml。
              ex:applicationContext.xml,Hibernate JPA基本設定檔,及transactionManager設定

META-INF:persistence.xml

比較Hibernate及Hibernate JPA:兩種我都是MyEclipse來產生dao

JPA優點:

1. dao的method有分頁的參數

2. hbm.xml都變成annotation

缺點:

1. 當欄位的pk為流水號時,需要在dto增加@GeneratedValue(strategy = GenerationType.AUTO)


注意事項:

JPA的OpenEntityManagerInViewFilter是使用

org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter