java hibernate jpa AttributeOverride Id проблема - PullRequest
1 голос
/ 19 февраля 2020
@MappedSuperclass
public class A{

 @Id
 private int id;

}

@Entity @Table( name = "B_table" )
@AttributeOverride ( name = "id" , column = @Column( name ="B_id" ) )
public class B extends A{

}

привет, я пытаюсь переопределить имя столбца идентификатора. Моим таблицам всегда присваивается имя столбца идентификатора с префиксом имени таблицы, например, для таблицы PERSON столбец идентификатора - PERSON_ID, в то время как в нашей модели java наши классы наследуются от суперкласса generi c, который имеет поле с именем id с JPA аннотация @ Id

Простые тесты на постоянство для этого кода проходят. Но hibernate, кажется, запутывается, когда его просят генерировать SQL запросов из этих классов, часто создавая запросы, которые включают столбцы как с (префиксом name) id, так и с последним, что вызывает ошибки, поскольку у нас нет таблиц с именем столбца = 'id'.

В других местах у меня есть красные вопросы, которые говорят о том, что AttributeOverride не предназначен для изменения модели спящего режима, и поэтому не может делать то, что я хочу, чтобы он делал здесь. Кто-нибудь получил какие-либо решения, предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...