victormilitao 7 de fev. de 2009
package model ;
import java.util.Date ;
import java.util.List ;
import javax.persistence.CascadeType ;
import javax.persistence.Column ;
import javax.persistence.Entity ;
import javax.persistence.Id ;
import javax.persistence.JoinColumn ;
import javax.persistence.ManyToOne ;
import javax.persistence.OneToMany ;
import javax.persistence.Temporal ;
import javax.persistence.TemporalType ;
@Entity
public class Pedido {
@Id
private Long id ;
@Column
@Temporal ( TemporalType . DATE )
private Date dt ;
@Column
@Temporal ( TemporalType . TIME )
private Date horaMin ;
@ManyToOne ( targetEntity = Empresa . class )
@JoinColumn ( name = "id_empresa" , referencedColumnName = "id" )
private Empresa empresa ;
@OneToMany ( targetEntity = ItemPedido . class , mappedBy = "id_pedido" , cascade = CascadeType . ALL )
private List < ItemPedido > itensPedido ;
@ManyToOne ( targetEntity = Cliente . class )
@JoinColumn ( name = "id_cliente" , referencedColumnName = "id" )
private Cliente cliente ;
public Cliente getCliente () {
return cliente ;
}
public void setCliente ( Cliente cliente ) {
this . cliente = cliente ;
}
public List < ItemPedido > getItensPedido () {
return itensPedido ;
}
public void setItensPedido ( List < ItemPedido > itensPedido ) {
this . itensPedido = itensPedido ;
}
public Empresa getEmpresa () {
return empresa ;
}
public void setEmpresa ( Empresa empresa ) {
this . empresa = empresa ;
}
public Date getDt () {
return dt ;
}
public void setDt ( Date dt ) {
this . dt = dt ;
}
public Date getHoraMin () {
return horaMin ;
}
public void setHoraMin ( Date horaMin ) {
this . horaMin = horaMin ;
}
public Long getId () {
return id ;
}
public void setId ( Long id ) {
this . id = id ;
}
}
package model ;
import javax.persistence.Entity ;
import javax.persistence.GeneratedValue ;
import javax.persistence.Id ;
import javax.persistence.JoinColumn ;
import javax.persistence.ManyToOne ;
@Entity
public class ItemPedido {
@Id @GeneratedValue
private Long id ;
@ManyToOne ( targetEntity = Pedido . class )
@JoinColumn ( name = "id_pedido" , referencedColumnName = "id" )
private Long id_pedido ;
private int quantidade ;
private String descItem ;
public int getQuantidade () {
return quantidade ;
}
public void setQuantidade ( int quantidade ) {
this . quantidade = quantidade ;
}
public String getDescItem () {
return descItem ;
}
public void setDescItem ( String descItem ) {
this . descItem = descItem ;
}
public Long getId () {
return id ;
}
public void setId ( Long id ) {
this . id = id ;
}
public Long getId_pedido () {
return id_pedido ;
}
public void setId_pedido ( Long id_pedido ) {
this . id_pedido = id_pedido ;
}
}
Ai está!
scheide 9 de fev. de 2009
Não sou expert em Hibernate, mas quando mapeio uma chave-estrangeira (como o seu id_pedido), faço assim:
@ManyToOne ( fetch = FetchType . LAZY )
@JoinColumn ( name = "cai_numero" , insertable = true , updatable = true )
@Fetch ( FetchMode . JOIN )
private Caixa caixa ;
Acho que o tipo de id_pedido deve ser Pedido e não Long. Tente colocar também o insertable=true e updatable=true (não sei se são default’s do Hibernate). Já teve caso de eu ter que usar o nullable=false também.
[]'s
victormilitao 11 de fev. de 2009
Eu fiz o que você falou, mas ainda continua sem inserir!
Alguém me ajude!
cecaldas 11 de fev. de 2009
Ao invés disso
# @ManyToOne ( targetEntity = Pedido . class )
# @JoinColumn ( name = "id_pedido" , referencedColumnName = "id" )
# private Long id_pedido ;
Faz assim:
# @ManyToOne ( targetEntity = Pedido . class )
# private Pedido pedido ;
# @OneToMany ( targetEntity = ItemPedido . class , mappedBy = "pedido" , cascade = CascadeType . ALL )
# private List & lt ; ItemPedido & gt ; itensPedido ;
scheide 11 de fev. de 2009
tentou colocar o nullable=false?
victormilitao 11 de fev. de 2009
Já sim! Tentei o que vocês falaram e nada mudou, a coluna id_pedido, continua sendo setada null.
Quando eu coloco o nullable=false, ai da erro!
victormilitao 11 de fev. de 2009
Eu consegui, faltava eu da um setter na propriedade pedido da classe ItemPedido antes de dar um save.
Valeu pessoal!