eclipse如何利用数据库反向生成Hibernate多对多、一对多实体类(生成全部为int类型)。 30C

如题![图片说明](https://img-ask.csdn.net/upload/201512/11/1449815415_642248.png)图片说明

5个回答

Myeclipse 连接到你的数据库,在对应的表上右击,点hibernate reserve ,然后一步步操作下去,就会成功

u012585841
VensonYang 可以生成配置文件和实体类,但就是没有关联关系。
大约 4 年之前 回复

/*
SQLyog Ultimate v10.00 Beta1
MySQL - 5.6.26-log : Database - db_template


*/

/*!40101 SET NAMES utf8 */;

/*!40101 SET SQL_MODE=''*/;

/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 /;
/
!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 /;
/
!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' /;
/
!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 /;
CREATE DATABASE /
!32312 IF NOT EXISTS*/db_template /*!40100 DEFAULT CHARACTER SET utf8 */;

USE db_template;

/*Table structure for table t_headimage */

DROP TABLE IF EXISTS t_headimage;

CREATE TABLE t_headimage (
id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
url char(100) NOT NULL,
createTime datetime DEFAULT NULL COMMENT '创建时间',
modifyTime datetime DEFAULT NULL COMMENT '修改时间',
sort int(11) DEFAULT NULL,
status char(2) DEFAULT NULL COMMENT '0:有效 1:无效',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='头像基本信息表';

/*Data for the table t_headimage */

/*Table structure for table t_news */

DROP TABLE IF EXISTS t_news;

CREATE TABLE t_news (
Id int(11) NOT NULL AUTO_INCREMENT,
title char(50) NOT NULL COMMENT '新闻标题',
publisher char(10) NOT NULL COMMENT '发布者',
newtypeID int(11) NOT NULL COMMENT '新闻类型',
content text NOT NULL COMMENT '新闻内容',
source char(50) DEFAULT NULL COMMENT '新闻来源',
imageUrl char(100) DEFAULT NULL COMMENT '新闻图片',
summary varchar(1000) DEFAULT NULL COMMENT '新闻摘要',
attachmentCount tinyint(4) DEFAULT NULL COMMENT '附件总数',
createTime datetime NOT NULL COMMENT '创建时间',
modifyTime datetime NOT NULL COMMENT '修改时间',
status char(2) NOT NULL COMMENT '新闻状态',
PRIMARY KEY (Id),
KEY FK_Refrence_1 (newtypeID),
CONSTRAINT FK_Refrence_1 FOREIGN KEY (newtypeID) REFERENCES t_news_type (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='新闻基本信息表';

/*Data for the table t_news */

/*Table structure for table t_news_type */

DROP TABLE IF EXISTS t_news_type;

CREATE TABLE t_news_type (
id int(11) NOT NULL AUTO_INCREMENT,
name char(20) NOT NULL COMMENT '新闻类型名称',
statu char(2) NOT NULL COMMENT '状态 0:启用 1:禁用',
createTime datetime NOT NULL COMMENT '创建时间',
modifyTime datetime DEFAULT NULL COMMENT '修改时间',
createId int(11) NOT NULL COMMENT '创建者id',
modifyId int(11) DEFAULT NULL COMMENT '修改者id',
sort int(11) NOT NULL COMMENT '排序',
coment char(200) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='新闻类型';

/*Data for the table t_news_type */

/*Table structure for table t_priviledges */

DROP TABLE IF EXISTS t_priviledges;

CREATE TABLE t_priviledges (
id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
name char(20) DEFAULT NULL COMMENT '名称',
url char(100) NOT NULL COMMENT '权限控制地址',
enabled tinyint(1) NOT NULL COMMENT '是否可用',
createTime datetime NOT NULL COMMENT '创建时间',
modifyTime datetime DEFAULT NULL COMMENT '修改时间',
pid int(11) DEFAULT NULL COMMENT '父节点',
icon char(25) DEFAULT NULL COMMENT '图标',
creator int(11) DEFAULT NULL COMMENT '创建者(对应userId)',
memo char(100) DEFAULT NULL COMMENT '备注',
isParent tinyint(1) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户权限信息表';

/*Data for the table t_priviledges */

insert into t_priviledges(id,name,url,enabled,createTime,modifyTime,pid,icon,creator,memo,isParent) values (1,'一级菜单','#',1,'2015-06-30 14:35:50','2015-09-09 15:49:10',0,'glyphicon glyphicon-plus',NULL,NULL,1);

/*Table structure for table t_priviledges_matrix */

DROP TABLE IF EXISTS t_priviledges_matrix;

CREATE TABLE t_priviledges_matrix (
id int(11) NOT NULL AUTO_INCREMENT,
roleID int(11) NOT NULL COMMENT '角色ID',
priviledgesID int(11) NOT NULL COMMENT '权限ID',
iscreate tinyint(1) NOT NULL COMMENT '是否可创建',
isdelete tinyint(1) NOT NULL COMMENT '是否可删除',
ismodify tinyint(1) NOT NULL COMMENT '是否可修改',
isselect tinyint(1) NOT NULL COMMENT '是否可查询',
isprint tinyint(1) NOT NULL COMMENT '是否可打印',
isimport tinyint(1) NOT NULL COMMENT '是否可导入',
isexport tinyint(1) NOT NULL COMMENT '是否可导出',
memo char(100) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (id),
KEY FK_Refrence_2 (priviledgesID),
KEY FK_Refrence_3 (roleID),
CONSTRAINT FK_Refrence_2 FOREIGN KEY (priviledgesID) REFERENCES t_priviledges (id),
CONSTRAINT FK_Refrence_3 FOREIGN KEY (roleID) REFERENCES t_role (id)
) ENGINE=InnoDB AUTO_INCREMENT=702 DEFAULT CHARSET=utf8 COMMENT='权限矩阵信息表';

/*Data for the table t_priviledges_matrix */

insert into t_priviledges_matrix(id,roleID,priviledgesID,iscreate,isdelete,ismodify,isselect,isprint,isimport,isexport,memo) values (701,1,1,1,1,1,0,1,1,1,NULL);

/*Table structure for table t_role */

DROP TABLE IF EXISTS t_role;

CREATE TABLE t_role (
id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
name char(20) NOT NULL COMMENT '角色名称',
createTime datetime NOT NULL COMMENT '创建时间',
modifyTime datetime DEFAULT NULL COMMENT '修改时间',
status char(2) DEFAULT NULL COMMENT '状态(0:有效 1:无效)',
memo char(100) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户角色信息表';

/*Data for the table t_role */

insert into t_role(id,name,createTime,modifyTime,status,memo) values (1,'admin','2015-06-29 14:19:00','2015-09-11 10:45:30','0','admin');

/*Table structure for table t_role_priviledges_relationship */

DROP TABLE IF EXISTS t_role_priviledges_relationship;

CREATE TABLE t_role_priviledges_relationship (
id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
priviledgeID int(11) NOT NULL COMMENT '权限ID',
roleID int(11) NOT NULL COMMENT '角色ID',
PRIMARY KEY (id),
KEY FK_Relationship_2 (priviledgeID),
KEY FK_Relationship_3 (roleID),
CONSTRAINT FK_Relationship_2 FOREIGN KEY (priviledgeID) REFERENCES t_priviledges (id),
CONSTRAINT FK_Relationship_3 FOREIGN KEY (roleID) REFERENCES t_role (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='角色权限对应关系表';

/*Data for the table t_role_priviledges_relationship */

insert into t_role_priviledges_relationship(id,priviledgeID,roleID) values (1,1,1);

/*Table structure for table t_user */

DROP TABLE IF EXISTS t_user;

CREATE TABLE t_user (
id int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
userAccount int(11) NOT NULL COMMENT '用户账号',
createTime datetime NOT NULL COMMENT '创建时间',
modifyTime datetime DEFAULT NULL COMMENT '修改时间',
nickName char(20) DEFAULT NULL COMMENT '用户昵称',
HeadImageID int(11) DEFAULT NULL COMMENT '用户头像',
isLock tinyint(1) DEFAULT NULL COMMENT '是否锁定',
status char(2) DEFAULT NULL COMMENT '状态(0:有效 1:无效)',
creator int(11) DEFAULT NULL COMMENT '创建者(对应userId)',
userType char(2) DEFAULT NULL COMMENT '用户类型(0:学生,1:教师)',
password char(32) DEFAULT NULL COMMENT '登陆密码',
memo char(100) DEFAULT NULL COMMENT '备注',
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

/*Data for the table t_user */

insert into t_user(id,userAccount,createTime,modifyTime,nickName,HeadImageID,isLock,status,creator,userType,password,memo) values (1,9999,'2015-09-30 14:48:04',NULL,NULL,NULL,NULL,'0',-1,'1','1',NULL),(2,70121,'2015-09-30 14:48:04',NULL,NULL,NULL,NULL,'0',1,'1','1',NULL),(3,70122,'2015-09-30 14:48:04',NULL,NULL,NULL,NULL,'0',1,'1','1',NULL),(4,70123,'2015-09-30 14:48:04',NULL,NULL,NULL,NULL,'0',1,'1','1',NULL),(5,70124,'2015-09-30 14:48:04',NULL,NULL,NULL,NULL,'0',1,'1','1',NULL);

/*Table structure for table t_user_role_relationship */

DROP TABLE IF EXISTS t_user_role_relationship;

CREATE TABLE t_user_role_relationship (
id int(11) NOT NULL AUTO_INCREMENT,
roleId int(11) NOT NULL COMMENT '角色Id',
userId int(11) NOT NULL COMMENT '用户Id',
PRIMARY KEY (id),
KEY FK_Relationship_4 (roleId),
KEY FK_Relationship_5 (userId),
CONSTRAINT FK_Relationship_4 FOREIGN KEY (roleId) REFERENCES t_role (id),
CONSTRAINT FK_Relationship_5 FOREIGN KEY (userId) REFERENCES t_user (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户角色关系表';

/*Data for the table t_user_role_relationship */

insert into t_user_role_relationship(id,roleId,userId) values (1,1,1);

/*!40101 SET SQL_MODE=@OLD_SQL_MODE /;
/
!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS /;
/
!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS /;
/
!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

上面的代码是我mysql数据库的的备份语句。麻烦各位大神帮我看看,到底哪里出了问题。

目前貌似只有myeclipse能实现,eclipse没有这个功能

如果你表的关系建好了,,直接通过dataSource就能反向生成了

u012585841
VensonYang 回复Royal_lr: 没有,反向之后配置文件和实体类都可以生成,但是就是没有关联关系的那种。
大约 4 年之前 回复
Royal_lr
Royal_lr 回复追寻1: 配置文件没有关系吗
大约 4 年之前 回复
u012585841
VensonYang 回复Royal_lr: 配置文件
大约 4 年之前 回复
Royal_lr
Royal_lr 回复追寻1: 那看你怎么映射的,,是配置文件的方式还是注解的方式
大约 4 年之前 回复
u012585841
VensonYang 不知道是不是表结构有问题。
大约 4 年之前 回复
u012585841
VensonYang 表建好了,关联关系也弄好了,但在实体类就是显示不出映射关系。
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问