Como faço para implementar sequence em hibernate usando anotações alguem sabe responder
@Entity
@SequenceGenerator(name="SEQ",sequenceName="nome_da_sequencia")
public class Tabela implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ")
private Long id;
...
este nome da sequencia eu tenho q telo criado no banco ou algo do genero?
SIM
valeu vou tentar e ver se da certo obrigadão
mauro ainda ñ rolou tenho o seguinte código
@Entity
@SequenceGenerator(name="SEQ",sequenceName="funcioanrios_id_seq")
@Table(name="funcionarios",schema="public", uniqueConstraints = { })
public class Funcionarios implements java.io.Serializable {
@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="SEQ")
@Column(name="id", unique=true, nullable=false, insertable=true, updatable=true)
private Integer id;
e a seguinte saida
4:11:42,704 INFO Version:15 - Hibernate Annotations 3.2.0.CR1
14:11:42,739 INFO Environment:499 - Hibernate 3.2 cr2
14:11:42,747 INFO Environment:532 - hibernate.properties not found
14:11:42,753 INFO Environment:666 - Bytecode provider name : cglib
14:11:42,768 INFO Environment:583 - using JDK 1.4 java.sql.Timestamp handling
14:11:42,990 INFO Configuration:1345 - configuring from resource: /hibernate.cfg.xml
14:11:42,991 INFO Configuration:1322 - Configuration resource: /hibernate.cfg.xml
14:11:43,182 WARN Environment:488 - Property [hibernate.cglib.use_reflection_optimizer] has been renamed to [hibernate.bytecode.use_reflection_optimizer]; update your properties appropriately
14:11:43,280 INFO Configuration:1460 - Configured SessionFactory: SessioFactory
14:11:43,487 INFO AnnotationBinder:386 - Binding entity from annotated class: br.com.greenline.falegreen.model.Funcionarios
14:11:43,552 INFO EntityBinder:325 - Bind entity br.com.greenline.falegreen.model.Funcionarios on table funcionarios
14:11:43,563 WARN AnnotationBinder:339 - Hibernate does not support SequenceGenerator.initialValue()
14:11:43,726 INFO AnnotationBinder:386 - Binding entity from annotated class: br.com.greenline.falegreen.model.Sugestoes
14:11:43,728 INFO EntityBinder:325 - Bind entity br.com.greenline.falegreen.model.Sugestoes on table sugestoes
14:11:43,747 INFO AnnotationBinder:386 - Binding entity from annotated class: br.com.greenline.falegreen.model.Departamentos
14:11:43,752 INFO EntityBinder:325 - Bind entity br.com.greenline.falegreen.model.Departamentos on table departamentos
14:11:43,914 INFO CollectionBinder:578 - Mapping collection: br.com.greenline.falegreen.model.Funcionarios.departamentoses -> departamentos
14:11:43,917 INFO CollectionBinder:578 - Mapping collection: br.com.greenline.falegreen.model.Departamentos.sugestoeses -> sugestoes
14:11:44,025 WARN Environment:488 - Property [hibernate.cglib.use_reflection_optimizer] has been renamed to [hibernate.bytecode.use_reflection_optimizer]; update your properties appropriately
14:11:44,036 INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
14:11:44,037 INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 20
14:11:44,038 INFO DriverManagerConnectionProvider:45 - autocommit mode: false
14:11:44,053 INFO DriverManagerConnectionProvider:80 - using driver: org.postgresql.Driver at URL: jdbc:postgresql://132.0.1.14:5432/postgres
14:11:44,054 INFO DriverManagerConnectionProvider:86 - connection properties: {user=postgres}
14:11:44,229 INFO SettingsFactory:78 - RDBMS: PostgreSQL, version: 8.1.4
14:11:44,232 INFO SettingsFactory:79 - JDBC driver: PostgreSQL Native Driver, version: PostgreSQL 8.1 JDBC3 with SSL (build 405)
14:11:44,267 INFO Dialect:128 - Using dialect: org.hibernate.dialect.PostgreSQLDialect
14:11:44,284 INFO TransactionFactoryFactory:31 - Using default transaction strategy (direct JDBC transactions)
14:11:44,289 INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
14:11:44,290 INFO SettingsFactory:126 - Automatic flush during beforeCompletion(): disabled
14:11:44,291 INFO SettingsFactory:130 - Automatic session close at end of transaction: disabled
14:11:44,292 INFO SettingsFactory:137 - JDBC batch size: 15
14:11:44,294 INFO SettingsFactory:140 - JDBC batch updates for versioned data: disabled
14:11:44,296 INFO SettingsFactory:145 - Scrollable result sets: enabled
14:11:44,297 INFO SettingsFactory:153 - JDBC3 getGeneratedKeys(): disabled
14:11:44,298 INFO SettingsFactory:161 - Connection release mode: auto
14:11:44,302 INFO SettingsFactory:188 - Default batch fetch size: 1
14:11:44,303 INFO SettingsFactory:192 - Generate SQL with comments: disabled
14:11:44,305 INFO SettingsFactory:196 - Order SQL updates by primary key: disabled
14:11:44,306 INFO SettingsFactory:357 - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
14:11:44,314 INFO ASTQueryTranslatorFactory:24 - Using ASTQueryTranslatorFactory
14:11:44,315 INFO SettingsFactory:204 - Query language substitutions: {}
14:11:44,316 INFO SettingsFactory:210 - Second-level cache: enabled
14:11:44,317 INFO SettingsFactory:214 - Query cache: disabled
14:11:44,318 INFO SettingsFactory:344 - Cache provider: org.hibernate.cache.EhCacheProvider
14:11:44,325 INFO SettingsFactory:229 - Optimize cache for minimal puts: disabled
14:11:44,326 INFO SettingsFactory:238 - Structured second-level cache entries: disabled
14:11:44,345 INFO SettingsFactory:265 - Statistics: disabled
14:11:44,346 INFO SettingsFactory:269 - Deleted entity synthetic identifier rollback: disabled
14:11:44,349 INFO SettingsFactory:284 - Default entity-mode: pojo
14:11:44,414 INFO SessionFactoryImpl:159 - building session factory
14:11:45,231 INFO SessionFactoryObjectFactory:86 - Factory name: SessioFactory
14:11:45,238 INFO NamingHelper:26 - JNDI InitialContext properties:{}
14:11:45,245 WARN SessionFactoryObjectFactory:98 - Could not bind factory to JNDI
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
at javax.naming.InitialContext.getNameParser(InitialContext.java:439)
at org.hibernate.util.NamingHelper.bind(NamingHelper.java:52)
at org.hibernate.impl.SessionFactoryObjectFactory.addInstance(SessionFactoryObjectFactory.java:90)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:303)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1213)
at br.com.greenline.falegreen.util.HibernateUtil.<clinit>(HibernateUtil.java:18)
at br.com.greenline.falegreen.teste.TestaHibernate.main(TestaHibernate.java:17)
14:11:45,250 INFO HibernateUtil:22 - Criando uma sessão
14:11:45,384 WARN JDBCExceptionReporter:71 - SQL Error: 0, SQLState: 42P01
14:11:45,385 ERROR JDBCExceptionReporter:72 - ERROR: relation "funcioanrios_id_seq" does not exist
Exception in thread "main" org.hibernate.exception.SQLGrammarException: could not get next sequence value
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:96)
at org.hibernate.id.SequenceHiLoGenerator.generate(SequenceHiLoGenerator.java:58)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:537)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:525)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:521)
at br.com.greenline.falegreen.teste.TestaHibernate.main(TestaHibernate.java:20)
Caused by: org.postgresql.util.PSQLException: ERROR: relation "funcioanrios_id_seq" does not exist
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:437)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:257)
at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:75)
... 11 more
foi mau ja achei o erro
foi um erro de digitação
valeu a dica rodou certinho