Olá,
Estou desenvolvemendo uma aplicação utilziando Hibernate/JPA + Spring + Flex e estou tendo problema em definir o GenerationType das PK.
Como estou fazendo a aplicação para não depender de banco de dados, ao definir GenerationType.AUTO (não sou experiente, acredito que ele pegaria o auto incremento ou identity ou sequence pelo banco de dados).
Ao testar com Postgresql ele informa emite um erro:
Caused by: org.postgresql.util.PSQLException: ERROR: relation "public.hibernate_sequence" does not exist
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:500)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:388)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:273)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at org.hibernate.id.SequenceGenerator.generateHolder(SequenceGenerator.java:112)
... 94 more
Verificando nos tópicos relacionados, parece que preciso informa qual a sequencia ele deve seguir (que para mim deveria ser AUTO)
Acredito se eu testar com o SQLSERVER deve aparecer outro erro.
Como posso definir para que as minhas classes de persistencias saiba o modo de geração de key?
Ou eu tenho que ter uma classe de persistencia para cada tipo de banco de dados (Classes especificas para postgres, mysql, sqlserver, …)?
OBS.:
Não estou querendo a correção para esse erro, pois já encontrei aqui no forum. A dúvida, tem como fazer classes persistentes genericas para qualquer banco de dados?.
