Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 联接表上的Hibernate SQLGrammarException_Java_Hibernate_Spring Boot - Fatal编程技术网

Java 联接表上的Hibernate SQLGrammarException

Java 联接表上的Hibernate SQLGrammarException,java,hibernate,spring-boot,Java,Hibernate,Spring Boot,我有三个表:用户,组和成员。membership表是用户和组的连接表,因为用户可以是多个组中的成员,反之亦然 我有一个Spring引导应用程序,我想在其中访问某个用户的组 用户类 @Entity public class User { /* members */ @OneToMany @JoinTable( name = "membership", joinColumns = @JoinColumn(name = "use

我有三个表:
用户
成员
membership
表是用户和组的连接表,因为用户可以是多个组中的成员,反之亦然

我有一个Spring引导应用程序,我想在其中访问某个用户的组

用户类

@Entity
public class User {
    /* members */

    @OneToMany
    @JoinTable(
            name = "membership",
            joinColumns = @JoinColumn(name = "user_id"),
            inverseJoinColumns = @JoinColumn(name = "group_id")
    )
    private Set<Group> groups;

    public Set<Group> getGroups() {
        return groups;
    }

    /* getters, setters */
}
@Entity
public class Group {
    /* members */

    @OneToMany
    @JoinTable(
            name = "membership",
            joinColumns = @JoinColumn(name = "group_id"),
            inverseJoinColumns = @JoinColumn(name = "user_id")
    )
    private Set<User> users;

    public Set<User> getUsers() {
        return users;
    }

    /* getters, setters */
}
我是春季开机和冬眠的初学者


谢谢。

事实证明,我使用MySQL服务器很重要。 显示原始SQL查询时,
表不带特殊的引号。通过这种方式,MySQL服务器假定
group
是一个错误的
groupby
语句

用包含撇号的符号显式声明表名可以解决这个问题

@Table(name = "`group`")
public class Group {
    /* some code */
}
Unable to evaluate the expression Method threw 'org.hibernate.exception.SQLGrammarException' exception.
@Table(name = "`group`")
public class Group {
    /* some code */
}