【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.我们 连接上我们的数据库,然后,选择所有的数据表,反向生成点击:

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

 

普通的ID生成就是下面这样,不用修改什么。

 

如果想要规定主键的生成策略,例如主键生成策略为uuid,则本页面可以如下【如果之前实体已经生成,不用怕,这个可以覆盖生成】:

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 Tools
15  */
16 @Entity
17 @Table(name = "authority", catalog = "testdb")
18 public class Authority implements java.io.Serializable {
19
20     // Fields
21
22     private String authorityId;
23     private String authorityName;
24     private Set<Role> roles = new HashSet<Role>(0);
25
26     // Constructors
27
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 accessors
45     @Id
46     @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

 

 

 

错误1

 The last packet successfully received from the server was 0 milliseconds ago.

 

解决方法:检查你的每一项的单词拼写是否有误,然后在URL上添加:?autoReconnect=true

例如下:

 

 错误2:数据表之间有多对多的关系,然后应该是生成一张中间表就好,但是多生成一张ID表如下图:

user表和testorder表生成一张中间表score

但是使用hibernate  反向生成tools后生成的实体如下:

多生成了一个ScoreId表

 

解决方法:

将本张表中的两个主键设置为一个主键 即可解决这个问题:

这样就解决了 会多生成一个ID类的问题

 

 

 

 



时间: 2024-09-30 15:02:56

【MyEcplise hibernate tools】hibernate tools的使用以及错误的相关文章

Java Persistence with Hibernate中文版Hibernate实战第2版出版

Java Persistence with Hibernate中文版Hibernate实战第2版出版 图灵出版社官方Hibernate实战(第2版)链接为: http://www.turingbook.com/Books/ShowBook.aspx?BookID=260 书 名: Hibernate实战(第2版) 评论星级: **** 书 号: 978-7-115-17448-2 原 书 名: Java Persistence with Hibernate 原出版社: Manning Publi

linux qt4-RedHat企业版6.2中编译安装Qt4.8.5后,进入/tools/qvfb中gmake出现以下错误

问题描述 RedHat企业版6.2中编译安装Qt4.8.5后,进入/tools/qvfb中gmake出现以下错误 有懂的人给看看是怎么回事,急求高手解答.错误如下:.obj/release-shared/qanimationwriter.o: In function QAnimationWriter::QAnimationWriter(QString const&, char const*)': qanimationwriter.cpp:(.text+0x9ec): undefined refe

spring整合hibernate出现sessionFactory的bean创建异常错误

问题描述 spring整合hibernate出现sessionFactory的bean创建异常错误 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContext.xml]: Invocation of init method failed; neste

Java Persistence with Hibernate中文版Hibernate实战第2版勘误

http://www.javaeye.com/topic/179802 Hibernate Spring Java Persistence API EJB3 相关的术语及关键字 还有其它相关的一些链接: Java Persistence with Hibernate中文版Hibernate实战第2版出版 关于Java持久化相关的资源汇集:Java Persistence API 错误难免,有则改之,无则加勉! ===========================================

org.hibernate.HibernateException: /hibernate.cfg.xml not found

问题描述 执行HibernateTest.java报错:Exceptioninthread"main"org.hibernate.HibernateException:/hibernate.cfg.xmlnotfoundatorg.hibernate.internal.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:173)atorg.hibernate.cfg.Configuration.getConfiguration

【hibernate】 hibernate的主键策略

今天使用maven生成一个sping+springMVC+hibernate 的项目,报错如下:   错误提示呢:不能解释这个id的生成策略[uuid.string].就是uuid.string这个hibernate不支持. 奇怪了, 网上查看别人的问题,有提到这个东西: 1 1. Changes in version 3.0 beta 1 (21.12.2004) 2 2. * removed uuid.string and renamed uuid.hex to plain uuid Vie

系统学习hibernate之四 hibernate多对一关联映射

一.关联映射的本质: * 将关联关系映射到数据库,所谓的关联关系是对象模型在内存中的一个或多个引用 <many-to-one>会在多的一端加入一个外键,指向一的一端,这个外键是由<many-to-one> 中的column属性定义的,如果忽略了这个属性那么默认的外键与实体的属性一致 <many-to-one>标签的定义示例: * <many-to-one name="group" column="groupid"/>

【Hibernate】Hibernate系列(一)

[概念] Hibernate是一个持久化的框架,它对JDBC进行了轻量级的封装.对于源程序来说没有侵入性.能让我们通过操作实体关系模型来操作数据库.大大减轻了sql语句的书写,事务的处理,查询结果的管理等数据库操作.下面是一张hibernate的基本知识点的框架.总体来说hibernate还是比较好学习的,但是需要深入和优化性能还是需要仔细的研究. [一对多映射] 一对多三种关系:单向一对多,单向多对一,双向一对多.我这里统称为它一对多.一对多关系是非常重要的关系,也是现实世界中最多的关系.这三

Hibernate: org.hibernate.query.list内存消耗过大的问题?

问题描述 使用JProfiler进行性能测试时发现如下情况: 在程式不停的运行中,query.list分配的内存不会被回收.不断创建新的instance. 是多线程运行的程序. 使用Query的方法如下:   public List find(String strhql) {          // TODO Auto-generated method stub            List result = null;          Session session = null;   

hibernate配置文件hibernate.cfg.xml的详细解释

标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式 <?xml version='1.0' encoding='Utf-8'?> 表明解析本XML文件的DTD文档位置,DTD是Document Type Definition 的缩写,即文档类型的定义,XML解析器使用DTD文档来检查XML文件的合法性.hibernate.sourceforge.net/hibernate-configuration-3.0dtd可以