Java 使用hibernate和mysql自动生成表时,用于创建表的SQL不正确

Java 使用hibernate和mysql自动生成表时,用于创建表的SQL不正确,java,mysql,hibernate,Java,Mysql,Hibernate,我决定在这个周末使用注释来玩hibernate,遇到了一个有趣的问题,希望大家都能帮上忙。我遇到的问题是,当我尝试使用manytone关系时,创建的模式不正确 我有两类笔记。用户类和CourseTaken类。用户可以选修任意数量的课程。代码如下 @Entity @Table(name = "course_taken") public class CourseTaken { @Id @GeneratedValue @Column(name = "course_id", co

我决定在这个周末使用注释来玩hibernate,遇到了一个有趣的问题,希望大家都能帮上忙。我遇到的问题是,当我尝试使用manytone关系时,创建的模式不正确

我有两类笔记。用户类和CourseTaken类。用户可以选修任意数量的课程。代码如下

@Entity
@Table(name = "course_taken")
public class CourseTaken {
    @Id
    @GeneratedValue
    @Column(name = "course_id", columnDefinition = "INT NOT NULL AUTO_INCREMENT")
    private int id;
    @ManyToOne
    @JoinColumn(name = "user_id")
    private User user;
    ...getters/setters
}

@Entity
@Table(name = "user")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "user_id", columnDefinition = "INT NOT NULL AUTO_INCREMENT")
    private int id;

    @OneToMany(mappedBy = "user")
    private Set<CourseTaken> coursesTaken = new HashSet<CourseTaken>();
    ...getters/setters
}
Hibernate似乎对我尝试使用
@OneToMany
注释感到非常困惑。有什么想法吗

我使用过各种配置: org.hibernate.dia方言

org.hibernate.dialect.MySQL5Dialect
org.hibernate.dialect.MySQLDialect
org.hibernate.dialect.MySQL5
我正在使用maven,以下是我的hibernate pom依赖项:

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>5.0.2.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-osgi</artifactId>
            <version>5.0.2.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-envers</artifactId>
            <version>5.0.2.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-c3p0</artifactId>
            <version>5.0.2.Final</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-proxool</artifactId>
            <version>5.0.2.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-infinispan</artifactId>
        <version>5.0.2.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-ehcache</artifactId>
        <version>5.0.2.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-annotations</artifactId>
        <version>3.5.6-Final</version>
    </dependency>

org.hibernate
冬眠核心
5.0.2.2最终版本
org.hibernate
冬眠osgi
5.0.2.2最终版本
org.hibernate
冬眠使者
5.0.2.2最终版本
org.hibernate
hibernate-c3p0
5.0.2.2最终版本
org.hibernate
冬眠醇
5.0.2.2最终版本
org.hibernate
冬眠英菲尼斯潘
5.0.2.2最终版本
org.hibernate
休眠ehcache
5.0.2.2最终版本
org.hibernate
休眠注释
3.5.6-最终版本

看来我的方言一定有点不正确。以下内容似乎解决了这个问题

org.hibernate.dialect.MySQLDialect

您使用的是什么版本的hibernate?已编辑的帖子并包含我的pom。谢谢你的关注!
org.hibernate.dialect.MySQLDialect