Autoincremento do Hibernate Annotation

11 respostas
Z

Ola colegas, estou com um problema no momento que executomeu script no net beans.

Vejam o cod:

import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

@Entity
@Table(name="cad_produtos")

/**
 *
 * @author 
 */
public class cls_cad_produtos implements Serializable {


    
    
    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    @Column(columnDefinition="prod_cod")
    private Integer prod_cod;

    @Column( columnDefinition="cod_prod")
    private String prod_descricao;


    public Integer getProd_cod() {
        return prod_cod;
    }
    public void SetProd_cod(Integer Prrod_cod) {
        prod_cod=Prrod_cod;
    }
    public String  getProd_descricao() {
        return prod_descricao;
    }
    public void  SetProd_descricao(String Prod_desc) {
        prod_descricao=Prod_desc;
    }

}
import javax.swing.*;
import org.hibernate.*;
import org.hibernate.cfg.AnnotationConfiguration;


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author 
 */
public class cls_prs_cad_produtos {
    
    public static void main(String [] args){
        try{
            AnnotationConfiguration cfg = new AnnotationConfiguration();
            cfg.addAnnotatedClass(cls_cad_produtos.class);
            SessionFactory fabrica = cfg.buildSessionFactory();
            Session sessao = fabrica.openSession();

            cls_cad_produtos obj_cls_cad_produtos = new cls_cad_produtos();
            obj_cls_cad_produtos.SetProd_descricao("descricao teste annotation");
            Transaction tx_cad_produtos =  sessao.beginTransaction();
            sessao.save(obj_cls_cad_produtos);
            tx_cad_produtos.commit();
            sessao.close();
        }
        catch(Exception erro)
        {
            
        }
    }


}
0 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.4.0.GA
16 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.SP1
32 [main] INFO org.hibernate.cfg.Environment - loaded properties from resource hibernate.properties: {hibernate.pool_size=10, hibernate.connection.driver_class=org.gjt.mm.mysql.Driver, hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect, hibernate.format_sql=true, hibernate.connection.username=root, hibernate.hbm2ddl.auto=create;, hibernate.connection.url=jdbc:mysql://localhost:3306/constricomp, hibernate.bytecode.use_reflection_optimizer=false, hibernate.show_sql=true, hibernate.connection.password=****}
32 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
47 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
141 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.1.0.GA
172 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
266 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: cls_cad_produtos
328 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity cls_cad_produtos on table cad_produtos
391 [main] INFO org.hibernate.cfg.AnnotationConfiguration - Hibernate Validator not found: ignoring
500 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)
500 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20
500 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false
516 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: org.gjt.mm.mysql.Driver at URL: jdbc:mysql://localhost:3306/constricomp
516 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=root, password=****}
1047 [main] INFO org.hibernate.cfg.SettingsFactory - RDBMS: MySQL, version: 5.1.45-community
1047 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} )
1063 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.PostgreSQLDialect
1063 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)
1063 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
1063 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled
1063 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled
1063 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15
1063 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled
1063 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled
1063 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled
1063 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto
1063 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1
1063 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
1078 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}
1078 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled
1078 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled
1094 [main] INFO org.hibernate.cfg.SettingsFactory - Echoing all SQL to stdout
1094 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled
1094 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled
1094 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo
1094 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled
1157 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory
1453 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured
Hibernate: 
    select
        nextval ('hibernate_sequence')
1578 [main] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 1305, SQLState: 42000
1578 [main] ERROR org.hibernate.util.JDBCExceptionReporter - FUNCTION constricomp.nextval does not exist
CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)

Qual o problema que esta ocorrendo ? no banco de dados (mysql ) ja esta autoincremento...

alguem sabe oque é ?

sds,

11 Respostas

W

1063 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.PostgreSQLDialect

???

Posta o hibernate.cfg.xml para darmos uma olhada

At.
Wallfox

rogelgarcia

Voce tá usando o dialeto do PostgreSQL e usando o banco MySQL… use o dialeto correto…

E arrume o nome dessas classes e atritubos:
cls_cad_produtos, prod_cod, prod_descricao, cls_prs_cad_produtos

Isso é uma ofensa em Java.

Z

Arrumei o dialeto

o config :

hibernate.connection.driver_class = org.gjt.mm.mysql.Driver hibernate.connection.url = jdbc:mysql://localhost:3306/constricomp hibernate.connection.username = root hibernate.connection.password = teste hibernate.dialect = org.hibernate.dialect.MySQLDialect hibernate.show_sql = true hibernate.format_sql = true hibernate.pool_size = 10 hibernate.hbm2ddl.auto=create;

o erro continua

0 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.4.0.GA 31 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.SP1 46 [main] INFO org.hibernate.cfg.Environment - loaded properties from resource hibernate.properties: {hibernate.pool_size=10, hibernate.connection.driver_class=org.gjt.mm.mysql.Driver, hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect, hibernate.format_sql=true, hibernate.connection.username=root, hibernate.hbm2ddl.auto=create;, hibernate.connection.url=jdbc:mysql://localhost:3306/constricomp, hibernate.bytecode.use_reflection_optimizer=false, hibernate.show_sql=true, hibernate.connection.password=****} 46 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist 46 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling 140 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.1.0.GA 156 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled. 265 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: cls_cad_produtos 328 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity cls_cad_produtos on table cad_produtos 390 [main] INFO org.hibernate.cfg.AnnotationConfiguration - Hibernate Validator not found: ignoring 468 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!) 468 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20 468 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false 484 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: org.gjt.mm.mysql.Driver at URL: jdbc:mysql://localhost:3306/constricomp 484 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=root, password=****} 937 [main] INFO org.hibernate.cfg.SettingsFactory - RDBMS: MySQL, version: 5.1.45-community 937 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} ) 968 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.PostgreSQLDialect 968 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions) 968 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 968 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled 968 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled 968 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15 968 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto 984 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1 984 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 984 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory 984 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {} 984 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory 984 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled 984 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled 1000 [main] INFO org.hibernate.cfg.SettingsFactory - Echoing all SQL to stdout 1000 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled 1000 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled 1000 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo 1000 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled 1062 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory 1375 [main] INFO org.hibernate.impl.SessionFactoryObjectFactory - Not binding factory to JNDI, no JNDI name configured Hibernate: select nextval ('hibernate_sequence') 1484 [main] WARN org.hibernate.util.JDBCExceptionReporter - SQL Error: 1305, SQLState: 42000 1484 [main] ERROR org.hibernate.util.JDBCExceptionReporter - FUNCTION constricomp.nextval does not exist CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

Rogel, sobre o nome das classes, isso é só um teste fique tranquilo, quero fazer executar e dps coloco tudo certinho rsrs

alguem sabe oque é agora ?

valeu pela ajuda ate o momento

W

Mude o driver de conexão para:
com.mysql.jdbc.Driver

At.
Wallfox

Z

mesmo mudando ainda continua o msm erro =/

H
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY) // altere aqui
@Column(columnDefinition="prod_cod")  
private Integer prod_cod;

Espero ter ajudado.

Z

Engraçado, eu rodei dnv e apareceu esse retorno :

<blockquote>init:

deps-jar:

compile-single:

run-single:

0 [main] INFO org.hibernate.cfg.annotations.Version - Hibernate Annotations 3.4.0.GA

16 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.3.0.SP1

31 [main] INFO org.hibernate.cfg.Environment - loaded properties from resource hibernate.properties: {hibernate.pool_size=10, hibernate.connection.driver_class=com.mysql.jdbc.Driver, hibernate.dialect=org.hibernate.dialect.MySQLDialect, hibernate.format_sql=true, hibernate.connection.username=root, hibernate.hbm2ddl.auto=create;, hibernate.connection.url=jdbc:mysql://localhost:3306/constricomp, hibernate.bytecode.use_reflection_optimizer=false, hibernate.show_sql=true, hibernate.connection.password=<strong><strong>}

31 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist

47 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling

125 [main] INFO org.hibernate.annotations.common.Version - Hibernate Commons Annotations 3.1.0.GA

141 [main] INFO org.hibernate.cfg.search.HibernateSearchEventListenerRegister - Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.

219 [main] INFO org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: cls_cad_produtos

281 [main] INFO org.hibernate.cfg.annotations.EntityBinder - Bind entity cls_cad_produtos on table cad_produtos

344 [main] INFO org.hibernate.cfg.AnnotationConfiguration - Hibernate Validator not found: ignoring

406 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!)

406 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20

406 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false

437 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: com.mysql.jdbc.Driver at URL: jdbc:mysql://localhost:3306/constricomp

437 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=root, password=</strong></strong>}

891 [main] INFO org.hibernate.cfg.SettingsFactory - RDBMS: MySQL, version: 5.1.45-community

891 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.12 ( Revision: ${bzr.revision-id} )

906 [main] INFO org.hibernate.dialect.Dialect - Using dialect: org.hibernate.dialect.MySQLDialect

922 [main] INFO org.hibernate.transaction.TransactionFactoryFactory - Using default transaction strategy (direct JDBC transactions)

922 [main] INFO org.hibernate.transaction.TransactionManagerLookupFactory - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)

922 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic flush during beforeCompletion(): disabled

922 [main] INFO org.hibernate.cfg.SettingsFactory - Automatic session close at end of transaction: disabled

922 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch size: 15

922 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC batch updates for versioned data: disabled

922 [main] INFO org.hibernate.cfg.SettingsFactory - Scrollable result sets: enabled

922 [main] INFO org.hibernate.cfg.SettingsFactory - JDBC3 getGeneratedKeys(): enabled

922 [main] INFO org.hibernate.cfg.SettingsFactory - Connection release mode: auto

922 [main] INFO org.hibernate.cfg.SettingsFactory - Maximum outer join fetch depth: 2

922 [main] INFO org.hibernate.cfg.SettingsFactory - Default batch fetch size: 1

922 [main] INFO org.hibernate.cfg.SettingsFactory - Generate SQL with comments: disabled

922 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL updates by primary key: disabled

922 [main] INFO org.hibernate.cfg.SettingsFactory - Order SQL inserts for batching: disabled

922 [main] INFO org.hibernate.cfg.SettingsFactory - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory

937 [main] INFO org.hibernate.hql.ast.ASTQueryTranslatorFactory - Using ASTQueryTranslatorFactory

937 [main] INFO org.hibernate.cfg.SettingsFactory - Query language substitutions: {}

937 [main] INFO org.hibernate.cfg.SettingsFactory - JPA-QL strict compliance: disabled

937 [main] INFO org.hibernate.cfg.SettingsFactory - Second-level cache: enabled

937 [main] INFO org.hibernate.cfg.SettingsFactory - Query cache: disabled

937 [main] INFO org.hibernate.cfg.SettingsFactory - Cache region factory : org.hibernate.cache.impl.NoCachingRegionFactory

937 [main] INFO org.hibernate.cfg.SettingsFactory - Optimize cache for minimal puts: disabled

937 [main] INFO org.hibernate.cfg.SettingsFactory - Structured second-level cache entries: disabled

937 [main] INFO org.hibernate.cfg.SettingsFactory - Echoing all SQL to stdout

937 [main] INFO org.hibernate.cfg.SettingsFactory - Statistics: disabled

937 [main] INFO org.hibernate.cfg.SettingsFactory - Deleted entity synthetic identifier rollback: disabled

937 [main] INFO org.hibernate.cfg.SettingsFactory - Default entity-mode: pojo

937 [main] INFO org.hibernate.cfg.SettingsFactory - Named query checking : enabled

1000 [main] INFO org.hibernate.impl.SessionFactoryImpl - building session factory

CONSTRUÍDO COM SUCESSO (tempo total: 1 segundo)

</blockquote>

só que não salvo nada na tabela o0

Z

Amigos, troquei a descricao para obj_cls_cad_produtos.SetProd_descricao(“descricao n”); e funcionou… alguem sabe o pq o0 ???

Inseri 2x e foi normal, 2 linhas com descricao n na tabela

alguem sabe o porque ?

sds.

H

Você executou essa classe “cls_prs_cad_produtos”?
Se for essa classe, irá ficar vazia pois você não preencheu os valores.

Para salvar algum valor é preciso que esse valor seja informado.

rogelgarcia

Para efetivamente salvar os dados… faça
session.flush

ou use transacoes

Z

BLZ, VALEU PELA AJUDA TURMA ! :wink:

Criado 28 de março de 2010
Ultima resposta 28 de mar. de 2010
Respostas 11
Participantes 4