Preciso solucionar uma questão de utilizar herança e sequences com hibernate e Oracle.
Estou utilizando Maven com: hibernate-core 5.1.5.Final hibernate-entitymanager 5.1.5.Final hibernate-validator 5.1.3.Final eclipselink 2.6.5 ojdbc6 11.2.0.4 javax.persistence 2.1.1 hibernate-jpa-2.1-api 1.0.0.Final
Tenho minha EntidadeDominio, no qual todas as classes extendem.
EntidadeDominio:
@MappedSuperclass
public class EntidadeDominio implements IEntidade, Serializable {
private static final long serialVersionUID = -5377726703339445533L;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE ,generator = "SQ")
private Integer id;
//Getter e Setters omitidos
}
Exemplo de classe: Email
@Entity
@Table(name = "EMAIL")
@AttributeOverride(name = "id", column = @Column(name = "COD_EMAIL"))
@SequenceGenerator(name="SQ", sequenceName = "SEQ_EMAIL", allocationSize = 1)
public class EmailEnvio extends EntidadeDominio{
...
}
Cada entidade utiliza uma sequence diferente, pois o Banco é oracle e ele que ficará responsável por gerar esse sequence (regra de negócio).
Fiz varias buscas pela internet onde todas apresentavam o mesmo código que coloquei, porém apenas recebo o erro de "org.hibernate.AnnotationException: Unknown Id.generator: SQ" .
Tem alguma outra maneira de utilizar essas anotações?
@GeneratedValue(strategy = GenerationType.SEQUENCE ,generator = "SQ")
@SequenceGenerator(name="SQ", sequenceName = "SEQ_EMAIL", allocationSize = 1)
Ou estou utilizando as bibliotecas erradas? Já tentei várias mudanças no código mas não consegui resolver, não tenho muita experiencia com hibernate + oracle.
Desde já agradeço a ajuda!