Java 冬眠不';不要创建表
我正在实现一个Spring+Hibernate web应用程序。在此应用程序中,我有三个实体,如下所示: 用户: 我已将Java 冬眠不';不要创建表,java,mysql,spring,hibernate,jpa,Java,Mysql,Spring,Hibernate,Jpa,我正在实现一个Spring+Hibernate web应用程序。在此应用程序中,我有三个实体,如下所示: 用户: 我已将hibernate.dialogue设置为org.hibernate.dialogue.mysql5innodbdialogue和hibernate.hbm2ddl.auto设置为create 当我运行tomcat时,将成功创建JPA会话,并创建表tbl_用户,tbl_会话和tbl_用户会话,但hibernate不会创建tbl_消息 服务器日志: Hibernate:
hibernate.dialogue
设置为org.hibernate.dialogue.mysql5innodbdialogue
和hibernate.hbm2ddl.auto
设置为create
当我运行tomcat时,将成功创建JPA会话,并创建表tbl_用户
,tbl_会话
和tbl_用户
会话,但hibernate不会创建tbl_消息
服务器日志:
Hibernate:
alter table tbl_message
drop
foreign key FK_4unouf9cqiw2e35a7mae9latk
Hibernate:
alter table tbl_message
drop
foreign key FK_h06m8p8o7furulj37xh4fd7s7
Hibernate:
alter table tbl_user_session
drop
foreign key FK_o9ow3kvh6odmn7raj1r10ninx
Hibernate:
alter table tbl_user_session
drop
foreign key FK_j33qeb6km5ffswqfcms9c3xqj
Hibernate:
drop table if exists tbl_message
Hibernate:
drop table if exists tbl_session
Hibernate:
drop table if exists tbl_user
Hibernate:
drop table if exists tbl_user_session
Hibernate:
create table tbl_message (
messageId bigint not null,
content varchar(255),
mediaMessage bit not null,
read bit not null,
sendDate datetime,
sent bit not null,
sender_userId bigint,
session_sessionId bigint,
primary key (messageId)
) ENGINE=InnoDB
Hibernate:
create table tbl_session (
sessionId bigint not null,
startDate datetime,
primary key (sessionId)
) ENGINE=InnoDB
Hibernate:
create table tbl_user (
userId bigint not null,
active bit not null,
displayName varchar(255),
joinDate datetime,
mobile varchar(255),
password varchar(255) not null,
searchable bit not null,
username varchar(255) not null,
primary key (userId)
) ENGINE=InnoDB
Hibernate:
create table tbl_user_session (
sessionId bigint not null,
userId bigint not null
) ENGINE=InnoDB
Hibernate:
alter table tbl_message
add constraint FK_4unouf9cqiw2e35a7mae9latk
foreign key (sender_userId)
references tbl_user (userId)
Hibernate:
alter table tbl_message
add constraint FK_h06m8p8o7furulj37xh4fd7s7
foreign key (session_sessionId)
references tbl_session (sessionId)
Hibernate:
alter table tbl_user_session
add constraint FK_o9ow3kvh6odmn7raj1r10ninx
foreign key (userId)
references tbl_user (userId)
Hibernate:
alter table tbl_user_session
add constraint FK_j33qeb6km5ffswqfcms9c3xqj
foreign key (sessionId)
references tbl_session (sessionId)
任何帮助都将提前得到感谢
create table tbl_message (
messageId bigint not null,
content varchar(255),
mediaMessage bit not null,
read bit not null,
sendDate datetime,
sent bit not null,
sender_userId bigint,
session_sessionId bigint,
primary key (messageId)
) ENGINE=InnoDB
此sql失败,因为读取是保留规则,应成为:
create table tbl_message (
messageId bigint not null,
content varchar(255),
mediaMessage bit not null,
`read` bit not null,
sendDate datetime,
sent bit not null,
sender_userId bigint,
session_sessionId bigint,
primary key (messageId)
) ENGINE=InnoDB
您可以自己创建表,或者为带有注释的列指定另一个名称。en toch。。。沃根斯uw日志。。。Hibernate:创建表tbl_message(messageId bigint not null,content varchar(255),mediaMessage bit not null,read bit not null,sendDate datetime,send bit not null,sender_userId bigint,session_sessionId bigint,主键(messageId))ENGINE=InnoDBIt根据您的日志执行。。。您可能希望尝试
update
来保存数据,而不是create
。从日志-create table tbl\u消息-
-这表明hibernate正在创建表。那你为什么说hibernate不创建tbl_消息。
?可能问题是读取的是mysql中的保留字,hibernate使用的create语句没有仔细处理它,也没有引用它。谢谢,我更改了字段名,它工作得很好。
Hibernate:
alter table tbl_message
drop
foreign key FK_4unouf9cqiw2e35a7mae9latk
Hibernate:
alter table tbl_message
drop
foreign key FK_h06m8p8o7furulj37xh4fd7s7
Hibernate:
alter table tbl_user_session
drop
foreign key FK_o9ow3kvh6odmn7raj1r10ninx
Hibernate:
alter table tbl_user_session
drop
foreign key FK_j33qeb6km5ffswqfcms9c3xqj
Hibernate:
drop table if exists tbl_message
Hibernate:
drop table if exists tbl_session
Hibernate:
drop table if exists tbl_user
Hibernate:
drop table if exists tbl_user_session
Hibernate:
create table tbl_message (
messageId bigint not null,
content varchar(255),
mediaMessage bit not null,
read bit not null,
sendDate datetime,
sent bit not null,
sender_userId bigint,
session_sessionId bigint,
primary key (messageId)
) ENGINE=InnoDB
Hibernate:
create table tbl_session (
sessionId bigint not null,
startDate datetime,
primary key (sessionId)
) ENGINE=InnoDB
Hibernate:
create table tbl_user (
userId bigint not null,
active bit not null,
displayName varchar(255),
joinDate datetime,
mobile varchar(255),
password varchar(255) not null,
searchable bit not null,
username varchar(255) not null,
primary key (userId)
) ENGINE=InnoDB
Hibernate:
create table tbl_user_session (
sessionId bigint not null,
userId bigint not null
) ENGINE=InnoDB
Hibernate:
alter table tbl_message
add constraint FK_4unouf9cqiw2e35a7mae9latk
foreign key (sender_userId)
references tbl_user (userId)
Hibernate:
alter table tbl_message
add constraint FK_h06m8p8o7furulj37xh4fd7s7
foreign key (session_sessionId)
references tbl_session (sessionId)
Hibernate:
alter table tbl_user_session
add constraint FK_o9ow3kvh6odmn7raj1r10ninx
foreign key (userId)
references tbl_user (userId)
Hibernate:
alter table tbl_user_session
add constraint FK_j33qeb6km5ffswqfcms9c3xqj
foreign key (sessionId)
references tbl_session (sessionId)
create table tbl_message (
messageId bigint not null,
content varchar(255),
mediaMessage bit not null,
read bit not null,
sendDate datetime,
sent bit not null,
sender_userId bigint,
session_sessionId bigint,
primary key (messageId)
) ENGINE=InnoDB
create table tbl_message (
messageId bigint not null,
content varchar(255),
mediaMessage bit not null,
`read` bit not null,
sendDate datetime,
sent bit not null,
sender_userId bigint,
session_sessionId bigint,
primary key (messageId)
) ENGINE=InnoDB