Tag Archive: jpa2


Falaa pessoal blzz?

Após algum tempinho sem posta aqui por falta de tempo, estou voltando com mais um post referente ao crud. Hoje vamos fazer a segurança do nosso sistema, iremos utilizar o spring security na versão 3.

Estarei disponibilizando os jars utilizados no final do post. Vamos lá.

O Spring Security trata a autenticação de usuários da seguinte forma:

O bloqueio pode ser feito por diretórios ou por arquivos, ou seja, o usuário logado deverá ter permissão de acesso para acessar determinadas partes do sistema.
Exemplo, suponhamos que temos um diretório admin em nosso sistema, eu posso definir a partir de um arquivo XML que apenas usuários com permissão de administrador tenha acesso a esse diretório.

Existem duas formas de fazer as autenticações de acesso, podemos definir todos os usuários e suas permissões diretamente no XML ou podemos buscar estas permissões e usuários diretamente do banco de dados.
Nesta postagem estarei tratando da segunda forma, pois acredito que é o mais próximo de um ambiente corporativo.

Continue lendo

CRUD JSF 2 + JPA 2 – Sugestões

Parte 1 Parte 2Parte 3Parte 4 

 

Conforme sugestões dos leitores, neste post estaremos adicionando a opção de alterar e cadastro de generos ao projeto.
Futuramente vamos adicionar o controle de login utilizando o Spring Security.

Primeiramente, em nosso managedbean DvdBean vamos criar um método para recuperar o entitymanager pois iremos usar o escopo de sessão para fazer a alteração dos registros.
Este método vai recuperar e devolver o entitymanager que abrimos no filtro.

Veja:

	private EntityManager getManager() {
		FacesContext fc = FacesContext.getCurrentInstance();
		ExternalContext ec = fc.getExternalContext();
		HttpServletRequest request = (HttpServletRequest) ec.getRequest();
		return (EntityManager) request.getAttribute("entityManager");
	}

Este mesmo método também deverá ser criado no managedbean GeneroBean.

No DvdBean agora vamos criar os métodos que serão responsáveis pela edição do registro, veja:

	public String preparaAlterar(DVD dvd) {
		this.setDvd(dvd);
		this.setGeneroID(this.getDvd().getGenero().getId());

		return "index?faces-redirect=true";
	}
	public void update() {
		GeneroRepository generoRepository = new GeneroRepository(
				this.getManager());
		Genero genero = generoRepository.search(generoID);
		this.dvd.setGenero(genero);

		DvdRepository dvdRepository = new DvdRepository(this.getManager());
		dvdRepository.update(this.dvd);

		this.dvd = new DVD();
		this.generoID = null;
		this.dvds = null;
	}

Continue lendo

JPA 2 + Hibernate – Introdução

Falaaa galeraaaa, mais um post aqui no blog programandojava.

Vamos falar um pouco de JPA 2.0 + Hibernate, ao final do post veremos toda a teoria em pratica.

Essa ferramenta atua como intermediária, automatizando diversos processos importantes relacionados à persistência dos dados. São chamadas de ferramentas ORM (Object Relational Mapping).

Com o intuito de facilitar a utilização dessas ferramentas e torná-las compatíveis com os outros recursos da plataforma Java, elas são padronizadas pela especificação Java Persistence API (JPA).

Para fazer uso do Hibernate, devemos fazer algumas configurações básicas, tais como:

  • Importar os Jars necessarios para uso do hibernate;
  • Configurar o logger (não obrigatório, porém para ter maior controle das persistências do hibernate devemos configurar. Iremos utilizar o log4j).
  • Como iremos usar JPA, devemos criar um arquivo chamado persistence.xml, este arquivo deve estar na pasta META-INF que por sua vez deve estar no classpath da aplicação.

Um dos principais objetivos dos frameworks ORM é estabelecer o mapeamento entre os conceitos de orientação a objeto e os conceitos de modelo entidade relacional.

Isto pode ser feito através de XML ou de uma maneira mais pratica utilizando anotações java, quando optamos por utilizar anotações, evitamos a criação de extensos arquivos XML.

A seguir as principais anotações de mapeamento JPA, estas fazem parte do pacote javax.persistence.

Continue lendo