新聞中心
Hibernate 3.2支持JPA注解,Spring集成JPA是可選的。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、呼和浩特網(wǎng)站維護、網(wǎng)站推廣。
下面是Spring集成JPA的一個例子。
實體類MyUser,使用JPA注解實現(xiàn)到數(shù)據(jù)庫表myUser的映射,如下所示:
package org.shirdrn.entity; import java.util.Date; import javax.persistence.Column; @Entity private Long id; @Id public void setId(Long id) {
@Column(name="userName") public void setUserName(String userName) {
@Column(name="password") public void setPassword(String password) {
@Column(name="gender") public void setGender(String gender) {
@Column(name="age") public void setAge(Integer age) {
@Column(name="addr") public void setAddr(String addr) {
@Column(name="email") public void setEmail(String email) {
@Transient public void setBirthYear(Integer age) {
|
其中,birthYear不是數(shù)據(jù)庫中的字段,使用JPA的@Transient注解,在映射的時候,會忽略掉該成員。
持久層DAO接口如下:
package org.shirdrn.dao; import java.util.List; import org.shirdrn.entity.MyUser; @Transactional |
這里,使用了JPA注解,聲明事務。
DAO實現(xiàn)類,如下所示:
package org.shirdrn.dao.impl; import java.util.List; import org.shirdrn.dao.MyUserDAO; public class MyUserDAOImpl extends JpaDaoSupport implements MyUserDAO {
public void createMyUser(MyUser myUser) {
public void deleteMyUser(MyUser myUser) {
public void updateMyUser(MyUser myUser) {
@SuppressWarnings("unchecked")
@SuppressWarnings("unchecked")
|
因為繼承了JpaDaoSupport,索引需要獲取一個JpaTemplate來實現(xiàn)訪問數(shù)據(jù)庫,在Spring的配置文件中要注入一個org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean。#p#
Spring的配置文件applicationContext.xml的內(nèi)容如下所示:
|
在META-INF目錄下,還要加一個persistence.xml配置文件,如下所示:
|
接著,對增刪改查操作進行測試,如下所示:
插入記錄:
packageorg.shirdrn.test; importorg.shirdrn.dao.MyUserDAO; publicclassTestCreateMyUser{
publicstaticvoidmain(String[]args){
|
刪除記錄:
packageorg.shirdrn.test; importorg.shirdrn.dao.MyUserDAO; publicclassTestDeleteMyUser{
|
修改記錄:
packageorg.shirdrn.test; importorg.shirdrn.dao.MyUserDAO; publicclassTestUpdateMyUser{ |
查詢記錄:
packageorg.shirdrn.test; importjava.util.List; importorg.shirdrn.dao.MyUserDAO; publicclassTestQueryAllMyUser{
|
心得總結(jié)
感覺自己對JPA的理解還是不怎么深刻。
JpaTemplate提供的一些操作的方法,感覺不是很快就能理解的。
似乎使用JpaTemplate沒有使用HibernateTemplate方便,尤其是在執(zhí)行插入、修改、刪除記錄的時候。修改和刪除記錄需要先把數(shù)據(jù)庫中對應的記錄加載出來,才能執(zhí)行修改和刪除操作。
查詢數(shù)據(jù)庫倒是很容易,因為根本不需要事務,如果沒有事務,插入、修改和刪除操作就不能實現(xiàn)。
在Spring中使用JPA,感覺代價比較大,使用起來不容易,出錯不容易調(diào)試。
比較好的地方就是。如果數(shù)據(jù)庫中的表很多,無需編寫大量的XML文件去映射,而且只需要從POJO中就可以非常直觀地看到各個表之間的關(guān)系。
您正在閱讀: 在Spring框架中集成JPA實例
【編輯推薦】
- Spring中文手冊RC2隨Spring2.0同步全球發(fā)行
- Eclipse開發(fā): Struts 2 + Spring 2 + JPA + AJAX
- Spring 2.5 中配置 JPA
分享標題:在Spring框架中集成JPA實例
分享網(wǎng)址:http://www.5511xx.com/article/ccciihs.html


咨詢
建站咨詢
