首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Hibernate 3.2诠释工程的创建细节

2012-11-04 
Hibernate 3.2注释工程的创建细节一、建立一个web project注意在此处,点击finish后弹出的警告,不要对其确认

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? ,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

热点排行