Я успешно определил генератор последовательности с помощью аннотаций в отношении наследования, примерно так:
@MappedSuperclass
public class DomainObject {
@Id
@Column( columnDefinition = "serial" )
@GeneratedValue( generator = "id_sequence", strategy = GenerationType.IDENTITY )
private long id = 0;
}
@Entity
@Table( name = "user" )
@SequenceGenerator( name = "id_sequence", sequenceName = "user_id_seq" )
public class User extends DomainObject {
}
В этом примере генератор последовательности класса User находит id_sequence из аннотации «Сгенерированное значение» в DomainObject.
Однако, если я сделаю DomainObject абстрактным классом и поместу его в другую зависимость (все остальное остается неизменным), я получу исключение:
org.hibernate.AnnotationException: Unknown Id.generator: id_sequence
В измененной версииЗависимость DomainObject находится в пути @ComponentScan, поэтому я не уверен, почему это не работает.Есть мысли?