你的位置:首页 > Java教程

[Java教程]【MyEcplise hibernate tools】hibernate tools的使用以及错误


1.点击Myecplise右上角

2.点击进入后,在这个区域右键 New 一个新的connection

3.以mySql连接为例子,在这里展示一下,下面这几项必须都要按照要求完全一致,除了架包所在的本地位置之外

4.配置完成可以点击上图的Test Driver,测试是否连接成功。连接成功的界面如下:

5.选择本数据库下的所有数据表或者你自己想要生成实体的数据表,点击反向生成

6.此刻,如果在选择的项目中没有我们想要操作的项目,说明我们的项目此时还不支持hibernate,还不是hibernate项目,那我们需要先回到正常的myEcplise界面下,将我们的项目转成hibernate项目

我们需要指定Hibernate的映射文件还有sessionFactory的包名,因为他们不能被创建在默认的包中,下面的提示很清楚

处理完成之后,我们的项目就支持hibernate了。这个时候我们就可以再进入到

这个界面下面接着进行我们的操作了。

 

7.我们 连接上我们的数据库,然后,选择所有的数据表,反向生成点击:

然后进入这个界面,我们选择如下:【我们采用注解的形式,就不选择映射文件的方式了】

8.然后回到正常的界面,查看项目结构,发现项目已经正常生成实体了

 

查看实体中的内容发现:不仅实体,实体与实体之间的关系也都正常的生成【我们是5个数据表,但是这个例子中有两个多对多生成的中间表,hibernate反向工程会自动的将这两个中间表变作ManyToMany的关系存在于实体中!!】

 1 package com.it.entity; 2  3 import java.util.HashSet; 4 import java.util.Set; 5 import javax.persistence.CascadeType; 6 import javax.persistence.Column; 7 import javax.persistence.Entity; 8 import javax.persistence.FetchType; 9 import javax.persistence.Id;10 import javax.persistence.ManyToMany;11 import javax.persistence.Table;12 13 /**14  * Authority entity. @author MyEclipse Persistence Tools15 */16 @Entity17 @Table(name = "authority", catalog = "testdb")18 public class Authority implements java.io.Serializable {19 20   // Fields21 22   private String authorityId;23   private String authorityName;24   private Set<Role> roles = new HashSet<Role>(0);25 26   // Constructors27 28   /** default constructor */29   public Authority() {30   }31 32   /** minimal constructor */33   public Authority(String authorityId) {34     this.authorityId = authorityId;35   }36 37   /** full constructor */38   public Authority(String authorityId, String authorityName, Set<Role> roles) {39     this.authorityId = authorityId;40     this.authorityName = authorityName;41     this.roles = roles;42   }43 44   // Property accessors45   @Id46   @Column(name = "authorityId", unique = true, nullable = false, length = 36)47   public String getAuthorityId() {48     return this.authorityId;49   }50 51   public void setAuthorityId(String authorityId) {52     this.authorityId = authorityId;53   }54 55   @Column(name = "authorityName", length = 50)56   public String getAuthorityName() {57     return this.authorityName;58   }59 60   public void setAuthorityName(String authorityName) {61     this.authorityName = authorityName;62   }63 64   @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "authorities")65   public Set<Role> getRoles() {66     return this.roles;67   }68 69   public void setRoles(Set<Role> roles) {70     this.roles = roles;71   }72 73 }

View Code