用户
@Entity
@Table(name="users")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@ManyToMany
@JoinTable(name="user_role", joinColumns = @JoinColumn(name="user_id"),
inverseJoinColumns = @JoinColumn(name="role_id)"))
private Set<Role> roles;
}
角色
@Entity
@Table(name="role")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
private String name;
@ManyToMany(mappedBy="roles")
private Set<User> users;
}
Application.Properties
spring.datasource.url = jdbc:mysql://localhost/basket
spring.datasource.username = root
spring.datasource.password =
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery = SELECT 1
spring.jpa.show-sql = true
spring.jpa.hibernate.ddl-auto = create
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
在线上出现了一个问题:
@JoinTable(name="user_role", joinColumns = @JoinColumn(name="user_id"),
inverseJoinColumns = @JoinColumn(name="role_id)"))
在您的用户类中。删除role_id后面的')。这就是为什么你会得到sql语法错误。
而且您也没有在这两个实体中定义集“角色”和“用户”。
private Set<Role> roles;
private Set<User> users;
private Set<Role> roles=new HashSet<Role>();
private Set<User> users=new HashSet<User>();
问题内容: 我不断收到CREATE TABLE语法错误,但是看不到错误!是什么导致错误? 我的SQL: 问题答案: 由于您的DDL语句包括,因此您必须使用ADO执行它。我将您的语句加载到字符串变量中,然后从Access 2007中执行该语句,如下所示: 的 工资 字段是小数精度8,尺度2和默认15000。 是Jet 4.0附带的Access SQL功能之一。这些功能不适用于从DAO执行的语句。如果
使用此代码在Mariadb中创建表时 我得到了这个错误。 #1064年的今天,您的SQL语法出现错误;查看与您的MariaDB服务器版本对应的手册,以了解第2行“Grade TINYINT UNSIGNED,Subject VARCHAR(20),yearteached YEAR)”附近使用的正确语法 我不知道语法有什么问题。谢谢你。
尝试使用 HQL 从表中获取记录时出现错误 原因:com . Mysql . JDBC . exceptions . JDBC 4 . MySQL syntaxerrorexception:您的SQL语法有错误;请查阅与您的MySQL服务器版本相对应的手册,了解使用near '的正确语法。userinfo userinfo 0 _ where userinfo 0 _。login_id='musk
我刚开始使用hibernate,总是会遇到这样的错误: 错误:HHH000388:不成功:创建表用户(id bigint not null auto_increment,mail varchar(255),passwort varchar(255),primary key(id))错误:从存储引擎获取错误-1 这是我的映射类:
问题内容: 我在Docker容器中有一个MySQL数据库。入口点执行创建数据库的脚本和创建表的脚本。 除了一张桌子,其他所有东西都工作正常。 记录到控制台的错误是 第150行是后面的开括号 MySQL版本:8.0.3-rc-log 主机操作系统:Debian jessie 我开始考虑并且可能是保留关键字,因此我重命名了表和列,但错误仍然存在。 问题答案: @Bill Karwin在第一条评论中