Вы можете попробовать ниже -
UPDATE Customers
SET Customers.FirstName =Mid(FullName, 1, InStr(FullName, ' ') - 1)
В коде выше, похоже на смешивание аннотаций на поля (суперкласс) и методы (подкласс). Быть в спящем режиме справочная документация рекомендует избежать этого, и я подозреваю, что она могла бы вызывать проблему. По моему опыту, с В спящем режиме, это более безопасно и более гибко для аннотирования метода считывания/методов установщика вместо полей так или иначе, таким образом, я предлагаю придерживаться того дизайна, если Вы можете.
Как решение Вашей проблемы, я рекомендую удалить идентификационное поле из Вашего Основного суперкласса в целом. Вместо этого переместите то поле в подклассы и создайте краткий обзор getId () и setId () методы в Вашем Базовом классе. Затем переопределите/реализуйте getId () и setId () методы в Ваших подклассах и аннотируйте методы считывания желаемой стратегией поколения.
Надеюсь, это поможет.
На методе в ребенке не добавляют второй тег @Id.
@Override // So that we can set Generated strategy
@GeneratedValue(strategy = AUTO)
public Integer getId() {
return super.getId();
}
При помещении аннотаций на метод считывания, а не поле при переопределении метода в подклассе аннотации, помещенные там, будут использоваться, а не те в суперклассе.