Java 冬眠不';不要创建表

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:

我正在实现一个Spring+Hibernate web应用程序。在此应用程序中,我有三个实体,如下所示:

用户:

我已将
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