Olá,
uma duvida pois gerei as tabelas via objeto
mas na tabela Nota_Fiscal_Item criou o campo id_nota que se relaciona com a tabela nota
mas está nulo ???
o que será que aconteceu ???
alguém pode me ajudar
abs
--
og4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
log4j:WARN Please initialize the log4j system properly.
Hibernate:
insert
into
Nota_Fiscal
(nome)
values
(?)
Hibernate:
insert
into
Nota_Fiscal_Item
(id_nota, qtdeItem, seqItem)
values
(?, ?, ?)
Hibernate:
insert
into
Nota_Fiscal_Item
(id_nota, qtdeItem, seqItem)
values
(?, ?, ?)
Gravação ok....
---
public class TesteNF {
private static EntityManagerFactory factory = null;
private static EntityManager manager = null;
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Collection itens = new HashSet();
NFItem item1 = new NFItem();
NF n = new NF();
n.setNome("Nota SP");
item1 = new NFItem();
item1.setSeqItem(1);
item1.setQtdeItem(10);
NFItem item2 = new NFItem();
item2 = new NFItem();
item2.setSeqItem(2);
item2.setQtdeItem(30);
n.setItens(new HashSet<NFItem>());
n.getItens().add(item1);
n.getItens().add(item2);
factory = Persistence.createEntityManagerFactory("JPA9");
manager = factory.createEntityManager();
EntityTransaction transaction = manager.getTransaction();
transaction.begin();
manager.persist(n);
transaction.commit();
manager.close();
System.out.println("Gravação ok....");
}
}
---
CREATE TABLE `nota_fiscal` (
`id` int(11) NOT NULL auto_increment,
`nome` varchar(255) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
---
CREATE TABLE `nota_fiscal_item` (
`id` int(11) NOT NULL auto_increment,
`qtdeItem` int(11) default NULL,
`seqItem` int(11) default NULL,
`id_nota` int(11) default NULL,
PRIMARY KEY (`id`),
KEY `FKBC05DA4341B2D632` (`id_nota`),
CONSTRAINT `FKBC05DA4341B2D632` FOREIGN KEY (`id_nota`) REFERENCES `nota_fiscal` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
----
import java.util.Collection;
import java.util.HashSet;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
@Entity
@Table(name="Nota_Fiscal")
public class NF {
@Id
@GeneratedValue
//@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private int id;
@Column
private String nome;
@OneToMany(targetEntity=NFItem.class ,mappedBy="nota",fetch=FetchType.EAGER, cascade =javax.persistence.CascadeType.ALL)
private Collection<NFItem> itens ;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public Collection<NFItem> getItens() {
return itens;
}
public void setItens(Collection<NFItem> itens) {
---
@Entity
@Table( name="Nota_Fiscal_Item")
public class NFItem {
@Id
@GeneratedValue
@Column
private int id;
@Column
private int seqItem;
@Column
private int qtdeItem;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="id_nota")
private NF nota;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getSeqItem() {
return seqItem;
}
public void setSeqItem(int seqItem) {
this.seqItem = seqItem;
}
public int getQtdeItem() {
return qtdeItem;
}
public void setQtdeItem(int qtdeItem) {
this.qtdeItem = qtdeItem;
}
}