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 */
}