E ai galera, tenho uma classe chamada PedidoItem, ela está ligada com a classe Pedidos, que está ligada com a classe Clientes, quando fui rodar a classe PedidoItem, ela deu o seguinte erro:
[TopLink Warning]: 2008.09.18 08:32:06.343--UnitOfWork(16291471)--Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2006.8 (Build 060908)): oracle.toplink.essentials.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.MySQLIntegrityConstraintViolationException: Column 'clientes_idclientes' cannot be nullError Code: 1048
Call:INSERT INTO pedidos (data_pedido, data_confirmacao, clientes_idclientes) VALUES (?, ?, ?)
bind => [null, null, null]
Query:InsertObjectQuery(br.org.trisoft.vo.Pedidos@1f)
Exception in thread "main" java.lang.IllegalStateException:
Exception Description: No transaction is currently active
at oracle.toplink.essentials.internal.ejb.cmp3.transaction.base.EntityTransactionImpl.rollback(EntityTransactionImpl.java:125)
at br.org.trisoft.persistence.PedidoItemJPADAO.insert(PedidoItemJPADAO.java:107)
at br.org.trisoft.service.PedidoItemServiceDAO.insert(PedidoItemServiceDAO.java:26)
at br.org.trisoft.business.PedidoItemBusiness.inserir(PedidoItemBusiness.java:20)
at br.org.trisoft.tests.RunJPAPedidoItem.main(RunJPAPedidoItem.java:38)
Fala sobre a tabela no Sql Pedidos, que tem algo errado com o clientes_idclientes. Não estou sabendo resolver, aqui em baicho está o pojo do Pedidos e do PedidoItem:
Pedidos
@Entity
@Table(name="pedidos")
public class Pedidos implements Serializable{
/**
*
*/
private static final long serialVersionUID = -3648045674242128840L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="idpedidos", nullable=true)
private Integer pedidosId;
@OneToOne(cascade=(CascadeType.ALL))
@JoinColumn(name="clientes_idclientes")
private Clientes clientes;
@Temporal
@Column(name="data_pedido", nullable=true)
private GregorianCalendar dataPedido;
@Temporal
@Column(name="data_confirmacao", nullable=true)
private GregorianCalendar dataConfirmacao;
public Pedidos(){
}
public Pedidos(Clientes clientes, GregorianCalendar dataConfirmacao,
GregorianCalendar dataPedido, Integer pedidosId) {
this.clientes = clientes;
this.dataConfirmacao = dataConfirmacao;
this.dataPedido = dataPedido;
this.pedidosId = pedidosId;
}
PedidoItem
@Entity
@Table(name="pedido_item")
public class PedidoItem implements Serializable{
/**
*
*/
private static final long serialVersionUID = 7326256711354278873L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="idpedido_item", nullable=true)
private Integer pedidoItemId;
@OneToOne(cascade=(CascadeType.ALL))
@JoinColumn(name="pedidos_idpedidos")
private Pedidos pedidos;
@OneToOne(cascade=(CascadeType.ALL))
@JoinColumn(name="estoque_idestoque")
private Estoque estoque;
private Integer quantidade;
@Column(name="preco_venda", nullable=true)
private Float precoVenda;
public PedidoItem(){}
public PedidoItem(Estoque estoque, Integer pedidoItemId, Pedidos pedidos,
Float precoVenda, Integer quantidade) {
this.estoque = estoque;
this.pedidoItemId = pedidoItemId;
this.pedidos = pedidos;
this.precoVenda = precoVenda;
this.quantidade = quantidade;
}
Galera me ajuda aew!!
