<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Problemas com edit"]]></title>
		<link>http://www.guj.com.br/posts/list/4.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Problemas com edit"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Problemas com edit</title>
				<description><![CDATA[ Olaa pessoal<br /> <br /> Estou fazendo um projeto e preciso tela de edicao dos dados, estou usando o hibernate para fazer isso e o seguinte metodo:<br /> <br /> [code]public void edit(Login login) throws IllegalOrphanException, NonexistentEntityException, Exception {<br />         EntityManager em = null;<br />         try {<br />             em = getEntityManager();<br />             em.getTransaction().begin();<br />             Login persistentLogin = em.find(Login.class, login.getId());<br />             Collection&lt;ControleSistemasAUD&gt; controleSistemasAUDCollectionOld = persistentLogin.getControleSistemasAUDCollection();<br />             Collection&lt;ControleSistemasAUD&gt; controleSistemasAUDCollectionNew = login.getControleSistemasAUDCollection();<br />             Collection&lt;ControleSistemas&gt; controleSistemasCollectionOld = persistentLogin.getControleSistemasCollection();<br />             Collection&lt;ControleSistemas&gt; controleSistemasCollectionNew = login.getControleSistemasCollection();<br />             List&lt;String&gt; illegalOrphanMessages = null;<br />             for (ControleSistemasAUD controleSistemasAUDCollectionOldControleSistemasAUD : controleSistemasAUDCollectionOld) {<br />                 if (!controleSistemasAUDCollectionNew.contains(controleSistemasAUDCollectionOldControleSistemasAUD)) {<br />                     if (illegalOrphanMessages == null) {<br />                         illegalOrphanMessages = new ArrayList&lt;String&gt;();<br />                     }<br />                     illegalOrphanMessages.add("You must retain ControleSistemasAUD " + controleSistemasAUDCollectionOldControleSistemasAUD + " since its tecnico field is not nullable.");<br />                 }<br />             }<br />             for (ControleSistemas controleSistemasCollectionOldControleSistemas : controleSistemasCollectionOld) {<br />                 if (!controleSistemasCollectionNew.contains(controleSistemasCollectionOldControleSistemas)) {<br />                     if (illegalOrphanMessages == null) {<br />                         illegalOrphanMessages = new ArrayList&lt;String&gt;();<br />                     }<br />                     illegalOrphanMessages.add("You must retain ControleSistemas " + controleSistemasCollectionOldControleSistemas + " since its tecnico field is not nullable.");<br />                 }<br />             }<br />             if (illegalOrphanMessages != null) {<br />                 throw new IllegalOrphanException(illegalOrphanMessages);<br />             }<br />             Collection&lt;ControleSistemasAUD&gt; attachedControleSistemasAUDCollectionNew = new ArrayList&lt;ControleSistemasAUD&gt;();<br />             for (ControleSistemasAUD controleSistemasAUDCollectionNewControleSistemasAUDToAttach : controleSistemasAUDCollectionNew) {<br />                 controleSistemasAUDCollectionNewControleSistemasAUDToAttach = em.getReference(controleSistemasAUDCollectionNewControleSistemasAUDToAttach.getClass(), controleSistemasAUDCollectionNewControleSistemasAUDToAttach.getId());<br />                 attachedControleSistemasAUDCollectionNew.add(controleSistemasAUDCollectionNewControleSistemasAUDToAttach);<br />             }<br />             controleSistemasAUDCollectionNew = attachedControleSistemasAUDCollectionNew;<br />             login.setControleSistemasAUDCollection(controleSistemasAUDCollectionNew);<br />             Collection&lt;ControleSistemas&gt; attachedControleSistemasCollectionNew = new ArrayList&lt;ControleSistemas&gt;();<br />             for (ControleSistemas controleSistemasCollectionNewControleSistemasToAttach : controleSistemasCollectionNew) {<br />                 controleSistemasCollectionNewControleSistemasToAttach = em.getReference(controleSistemasCollectionNewControleSistemasToAttach.getClass(), controleSistemasCollectionNewControleSistemasToAttach.getId());<br />                 attachedControleSistemasCollectionNew.add(controleSistemasCollectionNewControleSistemasToAttach);<br />             }<br />             controleSistemasCollectionNew = attachedControleSistemasCollectionNew;<br />             login.setControleSistemasCollection(controleSistemasCollectionNew);<br />             login = em.merge(login);<br />             for (ControleSistemasAUD controleSistemasAUDCollectionNewControleSistemasAUD : controleSistemasAUDCollectionNew) {<br />                 if (!controleSistemasAUDCollectionOld.contains(controleSistemasAUDCollectionNewControleSistemasAUD)) {<br />                     Login oldTecnicoOfControleSistemasAUDCollectionNewControleSistemasAUD = controleSistemasAUDCollectionNewControleSistemasAUD.getTecnico();<br />                     controleSistemasAUDCollectionNewControleSistemasAUD.setTecnico(login);<br />                     controleSistemasAUDCollectionNewControleSistemasAUD = em.merge(controleSistemasAUDCollectionNewControleSistemasAUD);<br />                     if (oldTecnicoOfControleSistemasAUDCollectionNewControleSistemasAUD != null && !oldTecnicoOfControleSistemasAUDCollectionNewControleSistemasAUD.equals(login)) {<br />                         oldTecnicoOfControleSistemasAUDCollectionNewControleSistemasAUD.getControleSistemasAUDCollection().remove(controleSistemasAUDCollectionNewControleSistemasAUD);<br />                         oldTecnicoOfControleSistemasAUDCollectionNewControleSistemasAUD = em.merge(oldTecnicoOfControleSistemasAUDCollectionNewControleSistemasAUD);<br />                     }<br />                 }<br />             }<br />             for (ControleSistemas controleSistemasCollectionNewControleSistemas : controleSistemasCollectionNew) {<br />                 if (!controleSistemasCollectionOld.contains(controleSistemasCollectionNewControleSistemas)) {<br />                     Login oldTecnicoOfControleSistemasCollectionNewControleSistemas = controleSistemasCollectionNewControleSistemas.getTecnico();<br />                     controleSistemasCollectionNewControleSistemas.setTecnico(login);<br />                     controleSistemasCollectionNewControleSistemas = em.merge(controleSistemasCollectionNewControleSistemas);<br />                     if (oldTecnicoOfControleSistemasCollectionNewControleSistemas != null && !oldTecnicoOfControleSistemasCollectionNewControleSistemas.equals(login)) {<br />                         oldTecnicoOfControleSistemasCollectionNewControleSistemas.getControleSistemasCollection().remove(controleSistemasCollectionNewControleSistemas);<br />                         oldTecnicoOfControleSistemasCollectionNewControleSistemas = em.merge(oldTecnicoOfControleSistemasCollectionNewControleSistemas);<br />                     }<br />                 }<br />             }<br />             em.getTransaction().commit();<br />         } catch (Exception ex) {<br />             String msg = ex.getLocalizedMessage();<br />             if (msg == null || msg.length() == 0) {<br />                 Integer id = login.getId();<br />                 if (findLogin(id) == null) {<br />                     throw new NonexistentEntityException("The login with id " + id + " no longer exists.");<br />                 }<br />             }<br />             throw ex;<br />         } finally {<br />             if (em != null) {<br />                 em.close();<br />             }<br />         }<br />     }[/code]<br /> <br /> Onde ControleSistemas eh uma tabela onde tem uma foreignKey de login, ou seja o id do login estao relacionado com o campo idtecnico na tabela ControleSistemas<br /> Esse eh o codigo de edicao<br /> <br /> E Esse eh o codigo que chama a edicao<br /> <br /> [code]Login nLogin = controle.findLogin(Integer.parseInt(labelID.getText()));<br />         nLogin.setLogin(textologin.getText());<br />         nLogin.setNome(textonome.getText());<br />         if (senha1.getText().equalsIgnoreCase(senha2.getText())){<br />             nLogin.setSenha(senha1.getText());<br />         }<br />         <br />         nLogin.setTipo(textotipo.getText());<br />         <br />         if (nLogin.getId() != null ){<br /> <br />              try {<br />                 controle.edit(nLogin);<br />             } catch (IllegalOrphanException ex) {<br />                 Logger.getLogger(formEditLogin.class.getName()).log(Level.SEVERE, null, ex);<br />             } catch (NonexistentEntityException ex) {<br />                 Logger.getLogger(formEditLogin.class.getName()).log(Level.SEVERE, null, ex);<br />             } catch (Exception ex) {<br />                 Logger.getLogger(formEditLogin.class.getName()).log(Level.SEVERE, null, ex);<br />             }<br />             <br />             } else {<br />                JOptionPane.showMessageDialog(this,"nenhum login selecionado!");<br />             }[/code]<br /> <br /> Se alguem poder ajudar agradeco :D]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/201197/1014945/problemas-com-edit
</guid>
				<link>http://www.guj.com.br/prepost/201197/1014945/problemas-com-edit
</link>
				<pubDate><![CDATA[Wed, 17 Mar 2010 17:01:15]]> GMT</pubDate>
				<author><![CDATA[ uchiharussi]]></author>
			</item>
			<item>
				<title>Re:Problemas com edit</title>
				<description><![CDATA[ OMFG<br /> Não tem como dar uma reduzida nos nomes não?<br /> Isso é feio:  [b] controleSistemasAUDCollectionNewControleSistemasAUDToAttach[/b]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/201197/1015119/reproblemas-com-edit
</guid>
				<link>http://www.guj.com.br/prepost/201197/1015119/reproblemas-com-edit
</link>
				<pubDate><![CDATA[Wed, 17 Mar 2010 21:51:38]]> GMT</pubDate>
				<author><![CDATA[ pedroroxd]]></author>
			</item>
			<item>
				<title>Re:Problemas com edit</title>
				<description><![CDATA[ É o hibernate que cria os nomes <img src="http://www.guj.com.br/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0">]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/201197/1015205/reproblemas-com-edit
</guid>
				<link>http://www.guj.com.br/prepost/201197/1015205/reproblemas-com-edit
</link>
				<pubDate><![CDATA[Thu, 18 Mar 2010 07:50:14]]> GMT</pubDate>
				<author><![CDATA[ uchiharussi]]></author>
			</item>
	</channel>
</rss>
