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)