JPA/HIBERNATE não insere no BD, só faz SEQUENCE.NEXTVAL

Senhors, bom dia

Vi uma msg de um colega que teve um problema com o Hibernate, ele não inseria no banco.

No meu caso, quando dou um sabe, ele só exibe o SEQUENCE.NEXTVAL … mas nao faz nada …

Alguem ja teve o mesmo problema ??

Att.
Rafael

Posta o código ai por favor amigo.

Opa, obrigado por responder

Eu estou usando um DAO genérioco que pode ser encontrado aqui:

http://code.google.com/p/generic-dao/

entao no caso eu teria minha classe que extends GenericDao<Entidade, Long>

e o metodo save(entidade) é chamado passando o objeto.

Entendi, mas a JVM gera alguma exceção?

Nada cara, só me mostra assim:

Hibernate: select SEQUENCE.Nextval from dual;

mais nada :S, tem alguma idéia ?

Pode ser algum problema com a sua SEQUENCE.

Nesta linha de código ele diz que está pegando o próximo número gerado pela sua SEQUENCE.

Se a SEQUENCE estiver com algum erro pode não gerar esse número e dai ele não persiste.

Não sou a melhor pessoa do mundo para lhe dar dicas de Hibernate até pq trabalho com EJB e não saco muito de HIbernate, mas o que pude chegar de conclusão foi isso.

[quote=JavaMania]Pode ser algum problema com a sua SEQUENCE.

Nesta linha de código ele diz que está pegando o próximo número gerado pela sua SEQUENCE.

Se a SEQUENCE estiver com algum erro pode não gerar esse número e dai ele não persiste.

Não sou a melhor pessoa do mundo para lhe dar dicas de Hibernate até pq trabalho com EJB e não saco muito de HIbernate, mas o que pude chegar de conclusão foi isso.[/quote]

Então cara, a sequence ta normal … .eu mesmo vou no banco e dou um nextval e tranquilo …

nao sei o que fazer :S kkk

Att

Chegou a mapear o SEQUENCE na classe?

opa, olha o codigo:

[code]@Entity
public class Safra implements IEntity {

@Id
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "SAFRA_ID")  
@SequenceGenerator(name="SAFRA_ID", sequenceName = "SAFRA_SEQ")  
@Column(name="SAFRA_ID")
private long safraId;

private BigDecimal sigla;

private String descr;

@Column(name="ANO_REF")
private BigDecimal anoRef;

[/code]

Att

Tenta assim:

   @Entity  
   @SequenceGenerator(name="SAFRA_ID", sequenceName = "SAFRA_SEQ")    
    public class Safra implements IEntity<Long> {  
          
        @Id  
        @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "SAFRA_ID")           
        @Column(name="SAFRA_ID")  
        private long safraId;  
      
       private BigDecimal sigla;  // vc nao teria q mapear esse atributo com @Transient?
     
       private String descr;  // vc nao teria q mapear esse atributo com @Transient?
     
       @Column(name="ANO_REF")  
       private BigDecimal anoRef;  

No ejb é @Transient quando vc diz q akele atributo não será persistido, não sei no Hibernate como é.

[quote=JavaMania]Tenta assim:

   @Entity  
   @SequenceGenerator(name="SAFRA_ID", sequenceName = "SAFRA_SEQ")    
    public class Safra implements IEntity<Long> {  
          
        @Id  
        @GeneratedValue(strategy=GenerationType.SEQUENCE, generator = "SAFRA_ID")           
        @Column(name="SAFRA_ID")  
        private long safraId;  
      
       private BigDecimal sigla;  // vc nao teria q mapear esse atributo com @Transient?
     
       private String descr;  // vc nao teria q mapear esse atributo com @Transient?
     
       @Column(name="ANO_REF")  
       private BigDecimal anoRef;  

No ejb é @Transient quando vc diz q akele atributo não será persistido, não sei no Hibernate como é.[/quote]

Entao, no caso os campos sem anotação eles vao ser persistidos, a diferença é que eles tem o mesmo nome que na tabela … nesse caso nao é necessario anotar.

Em passa a anotação pra classe nao da certo pq gera uma erro =/

Ta bruto o negocio =’/