11.07.2015 Views

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

Persistência com JPA2 e Hibernate - Inpi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

171 MAPEAMENTO COM XML24 25 . . .Código XML D.37: orm.xml26 Crie um teste para adicionar algumas ligações e uma fatura no pacote br.<strong>com</strong>.k19.testes noprojeto K19-Mapeamento-XML.1 public class AdicionaFaturaLigacao {2 public static void main ( String [] args ) {3 EntityManagerFactory factory =4 Persistence . createEntityManagerFactory (" K21_mapeamento_xml_pu ");5 EntityManager manager = factory . createEntityManager ();67 manager . getTransaction (). begin ();89 Ligacao ligacao1 = new Ligacao ();10 ligacao1 . setDuracao (162) ;1112 Ligacao ligacao2 = new Ligacao ();13 ligacao2 . setDuracao (324) ;1415 Fatura fatura = new Fatura ();16 fatura . setVencimento ( new GregorianCalendar (2012 , 11, 20) );1718 fatura . getLigacoes ().add ( ligacao1 );19 fatura . getLigacoes ().add ( ligacao2 );2021 ligacao1 . setFatura ( fatura );22 ligacao2 . setFatura ( fatura );2324 manager . persist ( fatura );25 manager . persist ( ligacao1 );26 manager . persist ( ligacao2 );2728 manager . getTransaction (). <strong>com</strong>mit ();2930 manager . close ();31 factory . close ();32 }33 }Código Java D.44: AdicionaFaturaLigacao.java27 Através do MySQL Workbench, verifique as tabelas criadas. Observe que a tabela Ligacao possuiuma coluna de relacionamento chamada fatura_id e a tabela Fatura_Ligacao vincula os registrosdas tabelas Ligacao e Fatura.28 Através do MySQL Workbench, apague primeiro a tabela Fatura_Ligacao e, em seguida, apagueas tabelas Fatura e Ligacao.29 Altere o código do arquivo orm.xml da pasta src/META-INF do projeto K19-Mapeamento-XMLde forma a criar um relacionamento bidirecional entre as faturas e as ligações.1 . . .2 3 4 5 6 78 9 DATE 10 www.k19.<strong>com</strong>.br 171

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!