2015-05-18 3 views
4

У меня есть два класса объектов Member и EvaluationType. Это реляционные таблицы.Eclipselink Mysql Имя таблицы верхнего регистра

Участник:

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

Оценка Тип:

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

При запуске приложения я получаю следующее сообщение об ошибке:

Код ошибки: 1215 вызовов: ALTER TABLE ЧЛЕН ADD CONSTRAINT FK_MEMBER_evaluationId FOREIGN KEY (оценка) ССЫЛКИ EVALUATİONTYPE (оценка) Запрос: DataModifyQuery (sql = "AL TER TABLE MEMBER ADD CONSTRAINT FK_MEMBER_evaluationId ИНОСТРАННЫЙ КЛЮЧ (оценка) ССЫЛКИ EVALUATİONTYPE (оценкаId) ")

Ошибка: имя таблицы" EVALUATİONTYPE ". Поскольку в mysql нет имени таблицы верхнего регистра. Как я могу это исправить?

+2

У вас есть EvaluationType аннотируется с именем таблицы (@Table)? –

+0

@Table (name = "EvaluationType") работает, спасибо большое. – onder

ответ

1

Другой вариант - установить чувствительность к регистру в самой базе данных. Check https://dev.mysql.com/doc/refman/5.0/en/identifier-case-sensitivity.html lower_case_table_names = 1 будет хранить все имена таблиц в нижнем регистре и сделать сопоставление имен не чувствительным к регистру. Но аннотация @Table также будет работать. Так что это зависит от вас.

Смежные вопросы