Idéia de um pool de conexões, se isso é necessário mesmo

27/04/2011

0

Preciso criar uma classe genérica para gravar,alterar e excluir, um CRUD mas que atenda todo o meu projeto. Ou seja, se eu estou com o form de cadastro eu pego a conexão e qualquer alteração,excklusão ou inserção, deverá ser feito na tabela de cadastro. Não sei se estou sendo claro. Gostaria de uma idéia para isso.
Pjava

Pjava

Responder

Posts

27/04/2011

Davi Costa

Cara vc vai ter que pesquisar sobre generics em java.

Se vc usar JPA beleza que todas suas classes mapeadas vão ser Entity. Então na sua classe genérica basta vc colocar:

public class GenericCrudService<Entity>......


E nessa classe já ter implementado o crud completo ... exemplo de um método:

    public final Entity insert(Entity obj) {
        entityManager.persist(obj);
        return obj;
    }

Daí qdo vc precisar que algum serviço de alguma classe sua como Cliente por exemplo, basta criar sua classe extendendo dessa classe genérica:

public class CleinteServiceImpl extends GenericCrudService<Cliente>... e por herança já vai pegar todos os métodos  da sua classe genérica.


Se vc não usa JPA, suas classes do modelo, vc estende ela de alguma classe mais genérica q possua pelo menos um id.. nem q seja um  um Object esse id, pq se sua chave primária não for um Long ou Integer iria funcionar com String tb e ai na sua classe genérica do crud vc alteraria Entity por essa classe q todas as classes do modelo estendem dela....lembrando nesse caso se vc não usar JPA(ou sua implementações Hibernate , TopLink e por ai vai).

Att Davi
Responder

27/04/2011

Davi Costa

Só complementando. artigo de Generics aqui da devmedia:
https://www.devmedia.com.br/post-18757-Desmistificando-a-Certificacao-SCJP6-Parte-II.html

Att Davi

Responder

27/04/2011

Pjava

Genericos eu tenho estudado bem e conheço bem, até porque sempre trampei com Delphi e Delphi 2011 se usa muito esse conceit. Só queria saber se o caminho é esse mesmo. Eu usarei nesse projeto JPA sim.
Responder

27/04/2011

Davi Costa

Show de bola cara.

Então qualquer dúvidar mais pontual é só chamar.

Att Davi
Responder

27/04/2011

Pjava

Só uma pergunta: Eu uso Helios com JSF 2.0, e Hibernate/JPA. Em realidade ainda não coloquei nada do Hibernate em meu projeto. É necessário criar o Hibernate.cfg.xml? Preciso criar na mão esse arquivo ou o Helios faz isso, já que como me disseram, ele já implementa o Hibernate. Ainda não testei gravar em banco ou algo parecido, vou começar a fazer isso amanhã. Esse é meu início na ferra e estou meio apreensivo.
Responder

27/04/2011

Robson Teixeira

Olá
  quando você usa JPA não necessita de criar hibernate.cfg.xml basta criar o persistence.xml e só e somente ele ser o seu projeto for JPA project o eclipse cria automaticamente caso contrario deverá criar na mão ou da 1 busca sobre hibernateTools.
 
qualquer coisa e so chamar
att
 robson Passarella
Responder

28/04/2011

Pjava

Uma pergunta. Se eu na hora de criar o Hibernate.cfg eu renomear para Persistence.xml, isso é aceitável? Porque o cfg.xml eu consigo gerar no Eclipse, logo se eu renomear terei o arquivo Persistence.xml já pronto, com o cabeçalho já criado e etc..., pois pelo que eu vi é semelhante ao cfg.xml.
Responder

28/04/2011

Davi Costa

É melhor vc dar uma olhada no google e pegar algum exemplo.
Não tem o mesmo conteúdo não.


Att Davi
Responder

28/04/2011

Robson Teixeira

Não necessariamente pois as algumas tags no xml são diferentes segue 1 modelo de persistence.xml para você ver as diferenças.  <persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">   <persistence-unit name="GameNetPU" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>br.com.games.GameNet.entity.Aparelho</class>
    <class>br.com.games.GameNet.entity.Cliente</class>
    <class>br.com.games.GameNet.entity.Funcionario</class>
    <class>br.com.games.GameNet.entity.Genero</class>
    <class>br.com.games.GameNet.entity.Item</class>
    <class>br.com.games.GameNet.entity.ItemVenda</class>
    <class>br.com.games.GameNet.entity.Jogo</class>
    <class>br.com.games.GameNet.entity.Pessoa</class>
    <class>br.com.games.GameNet.entity.Venda</class>
    <exclude-unlisted-classes>true</exclude-unlisted-classes>
    <validation-mode>NONE</validation-mode>
    <properties>  <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://localhost:5432/gamenet"/>
      <property name="javax.persistence.jdbc.password" value=""/>
      <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
      <property name="javax.persistence.jdbc.user" value="postgres"/>
      <property name="eclipselink.logging.level" value="FINE"/>
    </properties>
  </persistence-unit>
</persistence>     O hibernate tem implementação JPA e no xml tem que seguir a especificação JPA .   Esse modelo trabalha com o eclipseLink que é outro framework orm.      
Responder

28/04/2011

Robson Teixeira

desculpe deu 1 erro aqui na maquina. mas sim pesquise um pouco sobre JPA e ja que deseja usar o hibernate procure exemplos de modelo do persistence.xml usando hibernate.      qualquer coisa e so chamar att  robson  
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar