Olá,
estou usando java 1.5 com anotação
uma duvida tenho um relacionamento Nota e Nota_Item onde está assim
Hoje está assim
classe Nota_item{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column("item_nota")
private int id
@ManytoOne
private Nota nota;
}
no objeto Nota_Item
Item_Nota Nota
======= ===
1 5
2 5
3 5
------------------------------------
4 6
5 6
6 6
-------------------------------------
7 10
8 10
queria que fosse assim
a cada nota nova começar o item da nota com o numero 1
tem como qual anotação usar teria que criar outro campo para controlar
e deixar esse id como está ???
Neste caso que você se refere, não é apenas um contador, por exemplo para saber a quantidade de itens na nota ou delimitar a quantidade máxima de itens?
Acho estranho no dia a dia ninguem caiu numa situação dessa como fazer em JPA com anotação ???
o que estou buscando é isso ?
item da Nota
id = 1
item_nota = 1
nota = 10
qtde = 10
valor = 1000
produto=34
----------------------------
id = 2
item_nota = 2
nota = 10
qtde = 1585
valor = 10
produto=12
----------------------------
----------------------------
id = 3
item_nota = 3
nota = 10
qtde = 1
valor = 1
produto=69
----------------------------
mudou de nota outra nota e o item_nota começar com nr 1
----------------------------
id = 4
item_nota = 1
nota = 11
qtde = 45
valor = 1
produto=89
----------------------------
----------------------------
id = 4
item_nota = 2
nota = 11
qtde = 1
valor = 12.99
produto=4
----------------------------
tem alguma idéia como fazer pois se for por sequencia de uma tabela
no banco de dados teria que passar o numero da nota sempre e criar
na sequencia no banco pra uma nota que nem sei o numero ???
o que queria saber se existe alguma anotação ou jeito de colocar o numero sequencial do item
que quando muda o numero da nota começar por 1 …pois isso
já estou fazendo conforme exemplo abaixo ???
Essa era minha duvida pensei que tinha algo que fizesse isso automatico ???
Pois quando faço o persist é automatico qdo inseri Nota vai inserir automatico o Item da Nota …
Não sei se visualizou agora minha duvid a???
abs
public static void main(String[] args) {
// TODO Auto-generated method stub
//BasicConfigurator.configure();
//Logger.getLogger("org").setLevel(Level.ERROR);
System.out.println("Inicio...");
// TODO Auto-generated method stub
org.apache.log4j.BasicConfigurator.configure();
System.out.println("Inicio...");
NFDAO nfDAO = new NFDAO();
NotaFiscal n = new NotaFiscal();
n.setDescricao("NOta Fiscal Urgente");
NotaFiscalItem item1 = new NotaFiscalItem();
item1.setQtdeItem(69);
item1.setSeqItem(01); /////coloca esse valor na mão
item1.setId(n.getId());
item1.setNotafiscal(n);
item1.setValor(909.99);
n.adicionaNotaFiscalItem(item1);
NotaFiscalItem item2 = new NotaFiscalItem();
item2.setQtdeItem(1111);
item2.setSeqItem(02); /////coloca esse valor na mão
item2.setId(n.getId());
item2.setNotafiscal(n);
item1.setValor(123.56);
n.adicionaNotaFiscalItem(item2);
nfDAO.inserirNF(n);
System.out.println("Gravação ok...."+n.getId());
}
}
----
@Entity
@Table(name="Nota_Fiscal")
public class NotaFiscal {
@Id
@GeneratedValue
@Column(name="ID_NOTA")
private int id;
@Column(name="descricao")
private String descricao;
@OneToMany(mappedBy= "notafiscal",cascade =javax.persistence.CascadeType.ALL)
private List<NotaFiscalItem> itenss = new ArrayList<NotaFiscalItem>();
@OneToOne
@JoinColumn(name = "ID_CLIENTE")
private Cliente cliente;
public NotaFiscal(){
}
public int getId() {
return id;
}
public void adicionaNotaFiscalItem(NotaFiscalItem item) {
itenss.add(item);
}
public void setId(int id) {
this.id = id;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
public List<NotaFiscalItem> getItenss() {
return itenss;
}
public void setItenss(List<NotaFiscalItem> itenss) {
this.itenss = itenss;
}
}
-----
@Entity
@Table( name="Nota_Fiscal_Item")
public class NotaFiscalItem {
@Id
@GeneratedValue
@Column(name="id_item")
private int id;
@Column
private int seqItem;
@Column
private int qtdeItem;
private double valor;
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn (name = "FK_ID_NOTA")
private NotaFiscal notafiscal;
public NotaFiscalItem(int xqtde){
this.qtdeItem= xqtde;
}
public NotaFiscalItem( String nome){
}
public NotaFiscalItem(){
}
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;
}
public NotaFiscal getNotafiscal() {
return notafiscal;
}
public void setNotafiscal(NotaFiscal notafiscal) {
this.notafiscal = notafiscal;
}
public double getValor() {
return valor;
}
public void setValor(double valor) {
this.valor = valor;
}
}
----