【问题标题】:Eclipselink Mysql Table name upper caseEclipselink Mysql 表名大写
【发布时间】:2015-07-30 12:14:09
【问题描述】:

我有两个实体类 Member 和 EvaluationType。它们是关系表。

会员:

@ManyToOne
@JoinColumn(name = "evaluationId")
private EvaluationType evaluationType;

评估类型:

 @OneToMany(mappedBy = "evaluationType", cascade = CascadeType.ALL)
 private List<Member> memberList;

当我运行应用程序时,出现以下错误:

错误代码:1215 调用:ALTER TABLE MEMBER ADD CONSTRAINT FK_MEMBER_evaluationId FOREIGN KEY (evaluationId) REFERENCES EVALUATİONTYPE (evaluationId) 查询:DataModifyQuery(sql="ALTER TABLE MEMBER ADD CONSTRAINT FK_MEMBER_evaluationId FOREIGN KEY (evaluationId) REFERENCES EVALUATİONTYPE (evaluationId)")

错误是“EVALUATİONTYPE”表名。因为mysql中没有大写的表名。我怎样才能解决这个问题?

【问题讨论】:

  • 你有用表名(@Table)注释的EvaluationType吗?
  • @Table (name = "EvaluationType ") 工作,非常感谢。

标签: java mysql jpa eclipselink


【解决方案1】:

另一个选项是在数据库本身中设置区分大小写。检查https://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html lower_case_table_names=1 将以小写形式存储所有表名,并使名称比较不区分大小写。 但是@Table 注释也应该起作用。所以这取决于你。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-22
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 2011-12-09
    • 2010-11-13
    相关资源
    最近更新 更多