Java Spring MVC JPA异常org.hibernate.exception.sqlgrammareexception
我不太熟悉Spring JPA的东西。我正在学习。我试图在mysql数据库中插入数据时出现了奇怪的错误 我确保我的表和数据库设置与我的一样正确Java Spring MVC JPA异常org.hibernate.exception.sqlgrammareexception,java,mysql,spring,jpa,Java,Mysql,Spring,Jpa,我不太熟悉Spring JPA的东西。我正在学习。我试图在mysql数据库中插入数据时出现了奇怪的错误 我确保我的表和数据库设置与我的一样正确 mysql> show columns in empolyee in test; | Field | Type | Null | Key | Default | Extra | | id | int(6) | NO | PRI | NULL | auto_increment |
mysql> show columns in empolyee in test;
| Field | Type | Null | Key | Default | Extra |
| id | int(6) | NO | PRI | NULL | auto_increment |
eid | int(6) | YES | | NULL | |
| name | varchar(40) | NO | | NULL | |
| role | varchar(20) | YES | | NULL | |
我的实体类:-
@Entity
public class Employee extends AbstractPersistable<Long> {
private int eid;
private String name;
private String role;
public Employee(){
}
public Employee(int aeid, String aname, String arole){
eid=aeid;
name = aname;
role = arole;
}
}
MySQL表名的大小写敏感度取决于操作系统: 在MySQL中,数据库对应于数据中的目录 目录数据库中的每个表至少对应一个 数据库目录中的文件(可能更多,具体取决于 存储引擎)。因此,案件的敏感性 底层操作系统在区分大小写方面起着重要作用 数据库和表名。这意味着数据库和表名不可用 在Windows中区分大小写,在大多数类型中区分大小写 Unix。一个显著的例外是MacOSX,它基于Unix,但使用 不区分大小写的默认文件系统类型(HFS+)。然而, Mac OS X还支持UFS卷,它与其他卷一样区分大小写 在任何Unix上 因此,您需要将表名设置为正确的大小写:
@Entity @Table(name = "empolyee")
public class Employee extends AbstractPersistable<Long> { ... }
@Entity@Table(name=“empolyee”)
公共类Employee扩展了可抽象持久化的{…}
将实体类注释更改为以下内容
@Entity
@Table(name="empolyee")
数据库中的表名是empolyee
@Entity
public class Employee extends AbstractPersistable<Long>
@实体
公共类Employee扩展了AbstractPersistable
这里您没有指定@Table annotation,因此JPA将使用表名作为类名,这是数据库中不存在的Employee。因此,改变这一点
@Entity
@Table(name="empolyee") //this exists in database
public class Employee extends AbstractPersistable<Long>
@实体
@表(name=“empolyee”)//数据库中存在
公共类Employee扩展了AbstractPersistable
可能您连接到了其他数据库?员工和员工不一样?是打字错误吗?@Atilla Ozgur,你实际上给出了一个正确的答案作为评论。我建议你把它作为答案贴出来。这是一个打字错误:empolyee
在DB中,而employee
在Java中,非常感谢!它正在工作。问:为什么自动生成的文件id总是从6开始?我试过其他几次,总是从6点开始
@Entity
@Table(name="empolyee") //this exists in database
public class Employee extends AbstractPersistable<Long>