Hibernate 3.2注释工程的创建细节

一、建立一个web project
注意在此处,点击finish后弹出的警告,不要对其确认,才能添加hibernate 的annotations.
二、加载Hibernate.jar 选择Enable Hibernate Annotation用myEclipse前面两项,包含entity

core.jar 再addcheck.使用默认的hibernate.cfg.xml
注意要加载完成后才能在DB Brower中将包实体和表建立连接。
三、建立数据库与在相应的包下建立实体entity包(具体有没有建立类名称,尝试才知道)。
四、添加数据库的DB Brower连接,加载 JDBC Driver template 不用添加名称,填写完后直接

finish。然后右键对相应的表实现 Hibernate reverse engineering
java src file选择到工程的src,package选择com.bsp.entity目录。
Create POJO 使用注解的方式且Update Hibernate configuration.然后next,再next,然后

finish就完成了一个表的创建。其它的表也类似地创建实体POJO.
五、代码修改:
  (1)之后要在POJO类中修改一下,最后添加二级缓存在hibernate.cfg.xml中的property属性设

置hibernate.cache.provider_class 和cache.use.second_level_cache 为true。
且此时没有了actionmapping只有<mapping  class=" "></mapping>的形式。因为使用了注解,因

此没有了*.hbm.xml
  (2)对于entity POJO类,在类前面添加:
@Entity
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
@Table(name="bsp_corp" ,catalog="bspdb"
  在ID方法前添加:
@Id
    @NotNull(message = "编号不能为空")
    @Length(min = 1, max = 5, message = "编号长度应在1至5之间")
    @Column(name="CORP_ID", unique=true, nullable=false, length=5)
    public String getCorpId() {
        return this.corpId;
    }
    
    public void setCorpId(String corpId) {
        this.corpId = corpId;
    }
    在列的类数据成员前添加:
@Column(name="CORPNAME_CN", length=50)

    public String getCorpnameCn() {
        return this.corpnameCn;
    }
    
    public void setCorpnameCn(String corpnameCn) {
        this.corpnameCn = corpnameCn;
    }
 在集合属性前设置OneToMany ManyToOne的声明(mappedBy)是库中列的字段):
OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="bspCorp")

    public Set<BspMySplContact> getBspMySplContacts() {
        return this.bspMySplContacts;
    }
    
    public void setBspMySplContacts(Set<BspMySplContact> bspMySplContacts) {
        this.bspMySplContacts = bspMySplContacts;
    }
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="bspCorp")

    public Set<BspUser> getBspUsers() {
        return this.bspUsers;
    }
    
    public void setBspUsers(Set<BspUser> bspUsers) {
        this.bspUsers = bspUsers;
    }
    @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="bspCorp")
    public Set<BspCorpSpl> getBspCorpSpls() {
        return this.bspCorpSpls;
    }
    
    public void setBspCorpSpls(Set<BspCorpSpl> bspCorpSpls) {
        this.bspCorpSpls = bspCorpSpls;
    }

}
当使用到外键时要用到嵌入ID @EmbededId

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值