Java DB (Derby) e JPA

2 respostas
M

Ola Pessoal.

Venho utilizando Java DB para desenvolver uma aplicação Desktop. Primeiramente criei as tabelas no banco. Uma delas é como a mostrada abaixo:

CREATE TABLE JAVADB.USUARIO (
               ID INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY (START WITH 1, INCREMENT BY 1),
               NOMECOMPLETO VARCHAR(60),
               NOMEUSUARIO VARCHAR(8),
               SENHA VARCHAR(8)
);

Criei a Entity class a partir desta tabela e defini a estratégia do GeneratedValue = IDENTITY, ficou assim:

public class Usuario implements Serializable {

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY )   
    @Column(name = "ID", nullable = false)
    private Integer id;

....
Porem quando vou persistir os dados acontece a seguinte excecao:
Hibernate:
    insert
    into
        USUARIO
        (ID, NOMECOMPLETO, NOMEUSUARIO, SENHA)
    values
        (default, ?, ?, ?)
javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not insert: [net.mpsolution.model.Usuario]
        at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:629)
        at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:218)
        at net.mpsolution.business.GerenciadorUsuario.salvar(GerenciadorUsuario.java :44)
O que posso estar fazendo de errado? Será que é a declaração do GeneratedType? Já utilizei todos os valores possíveis mas nao tive sucesso. Estou definindo auto incremento na table através da clausula GENERATED ALWAYS. Pode ser algo nisso?

Estou utilizando: Netbeans, JPA, Java DB e Hibernate.

Grato pela atenção.

[/code]

2 Respostas

aces

Amigo,

sem voce ainda não o fez, de uma olhada em :

http://weblogs.java.net/blog/bleonard/archive/2006/12/need_a_primary.html

É uma pena que o Derby não suporte SEQUENCES nativamente, pois considero esta a melhor opçao…

F

Olá,

Esse JavaDB corresponde a qual versão do Derby?

Na versão 10.1.2.1 do Derby funciona perfeitamente o identity.

]['s

Criado 28 de março de 2007
Ultima resposta 2 de abr. de 2007
Respostas 2
Participantes 3