Проблема с изменением аннотации @Table на «пользователи» в классе сущностей JPA с использованием базы данных H2JAVA

Программисты JAVA общаются здесь
Anonymous
Проблема с изменением аннотации @Table на «пользователи» в классе сущностей JPA с использованием базы данных H2

Сообщение Anonymous »

Я столкнулся с проблемой в своем Java-приложении: изменение имени @Table в моем классе сущности приводит к сбою приложения во время тестов и выполнения. Вот подробности:
Изначально мой класс сущности был определен следующим образом:

Код: Выделить всё

@ApiModel
@XStreamAlias("user")
@Entity
@Table(name = "user")
public class User {
// ...
}
При такой настройке приложение работало нормально. Однако когда я обновил аннотацию @Table, чтобы изменить имя таблицы с «user» на «users», как показано ниже:

Код: Выделить всё

@ApiModel
@XStreamAlias("user")
@Entity
@Table(name = "users")
public class User {
// ...
}
Я начал получать ошибки при запуске теста mvn и во время запуска приложения. Сообщение об ошибке:

Код: Выделить всё

org.h2.jdbc.JdbcSQLSyntaxErrorException: Table "USERS" not found; SQL statement:
ALTER TABLE USERS ADD CONSTRAINT USERS_FK1 FOREIGN KEY (SUBSCRIPTION_ID) REFERENCES SUBSCRIPTIONS (SUBSCRIPTIONID)  [42102-200]
Интересно, что если я верну имя таблицы обратно на «пользователь», все снова будет работать нормально. Это заставляет меня задаться вопросом, связана ли эта проблема с базой данных H2, которую я использую для тестирования, или есть что-то более глубокое, вызывающее эту проблему.
Что может быть причиной этой ошибки? Я даже изменил имя таблицы в аннотации JPA на другое, и все сработало нормально. Так почему же именно имя «пользователи» вызывает проблему?

Подробнее здесь: https://stackoverflow.com/questions/787 ... sing-h2-da

Вернуться в «JAVA»