Java Derby, auto-incremento. Na Classe Devo passar algum Parametro?

0 respostas
wfrsilva

Parece uma pergunta besta, mas
Tenho uma tabela no Java Derby (netbeans) com auto-incremento.
Coluna codg_cmvn.

Se uso o SQL para inserir, tudo beleza, só envio os outros tres parametros e ok:

insert into compravenda (comprador, vendedor, codg_prdt) values ('tu','eu', 1);
insert into compravenda (comprador, vendedor, codg_prdt) values ('eles','ele', 2);
insert into compravenda (comprador, vendedor, codg_prdt) values ('eu','nos', 3);
insert into compravenda (comprador, vendedor, codg_prdt) values ('eu','tu', 4);
insert into compravenda (comprador, vendedor, codg_prdt) values ('eu','vos', 4);

Agora pelo java, crio meu objeto:

Compravenda novaCompraVenda = new Compravenda();
        
        novaCompraVenda.setComprador(comprador);
        novaCompraVenda.setVendedor(vendedor);
        novaCompraVenda.setCodgPrdt(produtoComprado);

E tento enviar para o Bean que fara a persistencia:

aMLFachada.persist(novaCompraVenda);

Fachada:

@Override
    public void persist(Compravenda compravenda){
        em.persist(compravenda);
    }//compravenda

Mas a classe Compravenda possui o atributo codgCmvn:

public class Compravenda implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @NotNull
    @Column(name = "CODG_CMVN")
    private Integer codgCmvn;

Devo setar algo no novaCompraVenda.setCodgCmvn( ?!? );

Se eu nao enviar nada da erro.

Ou devo fazer uma classe CompraVenda sem o atributo codgCmvn?
Obrigado amigos.

Advertência: EJB5184:A system exception occurred during an invocation on EJB AMLFachada, method: public void ejb.AMLFachada.persist(ejb.Compravenda)
Advertência: javax.ejb.AccessLocalException: Cliente não autorizado para esta chamada
	at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1888)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)
	at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)
	at $Proxy234.persist(Unknown Source)
	at ejb.AMLMBean.comprarProduto(AMLMBean.java:239)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
Criado 19 de junho de 2012
Respostas 0
Participantes 1