java - Spring JPA无法使用单词 'match'作为数据库表的名称

标签 java mysql spring jpa

我创建实体

@Entity 
@Table(name = "MATCH") 
public class Match { 
...variables,getters and setters... 
}

在 MySQL 中,我有名为 match 的数据库表。

我还有JpaRepository

public interface MatchRepository extends JpaRepository<Match, Long>{
}

当我尝试使用 MatchRepository.findAll() 通过 Contoller 加载数据时,错误告诉我:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'match match0_' at line 1

有人可以解释一下为什么 MySQL 不允许我使用 match 之类的数据库表名称吗? 当我使用例如名称 match1 时,就可以了!

@Entity 
    @Table(name = "MATCH1") 
    public class Match { 
    ...variables,getters and setters... 
    }

为什么?! 我需要这个名称 match 因为我写的是关于足球的项目....

最佳答案

match是MySQL中的关键字,看看这个例子:

   SELECT MATCH(id, name, surname) AGAINST('milan')... 

要了解更多信息,请访问 link

关于java - Spring JPA无法使用单词 'match'作为数据库表的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34312651/

相关文章:

java - 当 JFrame 调整大小时,JTable 列可能不会调整大小

java - 如何等待 `ReplyingKafkaTemplate` 的下一个响应?

java - 您可以将 Spriter Pro 2d 装配 Sprite 导入 LibGDX 吗?

php - 如何同时对多个表执行多个删除查询

spring - 无法将 tomcat 5.5 应用程序加载到生产环境中,并且找不到任何错误

java - com.fasterxml.jackson.databind.JsonMappingException : Multiple back-reference properties with name 'defaultReference'

mysql - 如何将这些 SQL SELECT 查询组合成一个 SELECT 语句

mysql - 强制 Entity Framework 代码首先重新创建应用程序运行时删除的数据库

spring - 如何使用 Jhipster 生成的代码为注销添加审核?

java - JMSTemplate 检查主题是否存在并获取订阅者数量