首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Hibernate Annotation应用实例

2012-10-29 
Hibernate Annotation使用实例jar说明? hibernate 3.3.0? hibernate-annotations(3.4.0.CR2)?数据库(oracl

Hibernate Annotation使用实例

jar说明? hibernate 3.3.0? hibernate-annotations(3.4.0.CR2)

?

数据库(oracle)结构

CREATE TABLE KANG_USER
(
? ID??????? VARCHAR2(32 BYTE)?????????????????? NOT NULL,
? USERNAME? VARCHAR2(30 BYTE),
? PASSWORD? VARCHAR2(32 BYTE),
? CITY????? VARCHAR2(32 BYTE),
? ADDTIME?? DATE
)

?

CREATE TABLE KANG_CITY
(
? ID??????? VARCHAR2(32 BYTE),
? CITYNAME? VARCHAR2(20 BYTE)
)

一个用户表,一个城市表,用户和城市是多对一的关系

?

import java.util.HashSet;import java.util.Set;import javax.persistence.Entity;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persistence.Id;import javax.persistence.OneToMany;import javax.persistence.Table;import org.hibernate.annotations.Cache;import org.hibernate.annotations.CacheConcurrencyStrategy;import org.hibernate.annotations.Cascade;import org.hibernate.annotations.CascadeType;import org.hibernate.annotations.GenericGenerator;/** * @author yukang * */@Entity@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)@Table(name="KANG_CITY")public class City {        @Id    @GeneratedValue(generator = "system-uuid")    @GenericGenerator(name = "system-uuid", strategy = "uuid")    private String id;        private String cityName;        @OneToMany(mappedBy="city",fetch=FetchType.EAGER)    @Cascade(value={CascadeType.DELETE_ORPHAN})//级联删除    private Set<User> userSet;        public City() {            }    /**     * @return the id     */    public String getId() {        return id;    }    /**     * @param id the id to set     */    public void setId(String id) {        this.id = id;    }    /**     * @return the cityName     */    public String getCityName() {        return cityName;    }    /**     * @param cityName the cityName to set     */    public void setCityName(String cityName) {        this.cityName = cityName;    }    /**     * @return the userSet     */    public Set<User> getUserSet() {        return userSet;    }    public void addUser(User user) {        if ( userSet == null ) {            userSet = new HashSet<User>();        }        user.setCity(this);        userSet.add( user );    }}

?

Spring中的sessionFactory的class要更改为org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean这个class

?

hibernate.cfg.xml要把User和City这两个class加上去

<mapping class="com.xxxx.domain.pojo.User"/>
?<mapping class="com.xxxx.domain.pojo.City"/>

?

其他的地方以前怎么写的,现在不要改动,例子较简单,代码不做说明了

热点排行