Duvida sobre classe criada pelo NetBeans

Bom dia pessoal,

Eu criei uma classe nova no NetBeans 5.5 selecionando a opção “Classe de Entidade do Banco de Dados”, a classe gerada basicamente mapeou como atributos os campos da tabela do banco de dados que eu selecionei e criou getters e setters para acessá-los.
Até ai eu entendi…

No entando no começo da classe apareceram as seguintes linhas:

@Entity
@Table(name = "usuario")
@NamedQueries( {
        @NamedQuery(name = "Usuario.findByUsusId", query = "SELECT u FROM Usuario u WHERE u.ususId = :ususId"),
        @NamedQuery(name = "Usuario.findByUsusLogin", query = "SELECT u FROM Usuario u WHERE u.ususLogin = :ususLogin"),
        @NamedQuery(name = "Usuario.findByUsusPassoword", query = "SELECT u FROM Usuario u WHERE u.ususPassoword = :ususPassoword"),
        @NamedQuery(name = "Usuario.findByUsusNome", query = "SELECT u FROM Usuario u WHERE u.ususNome = :ususNome"),
        @NamedQuery(name = "Usuario.findByUspePerfil", query = "SELECT u FROM Usuario u WHERE u.uspePerfil = :uspePerfil")
    })

Essas linhas estão antes da linha de declaração da classe:
public class Usuario implements Serializable {

Alguém poderia me dizer o que são essas linhas e qual a utilidade delas ?

Obrigado.

Um abraço.

Estas são diretivas de mapeamento da classe utilizadas pelo netbeans para interpretação pela JPA

@Entity diz que essa é uma classe mapeada para um entidade de banco

@Table(name = “usuario”) indica que tabela do banco esta classe mapeia

@NamedQueries(…) são consultas que a JPA define e que pode utiliza-las para algum serviço de carga da sua classe. As NamedQueries geralmente são utilizadas pelo proprio programador para definir consultas que ele deseja que a classe mapeada possa executar.

espero ter ajudado…

herbertpimentel:

Acho que entendi… agora mais perguntas:

:))

-O que é JPA ?
-Como posso utilizar as NamedQueries(…) ?
-A função de fazer select´s no banco não deveria ser delegada a classe DAO ?

Obrigado.

Um abraçõ.

JPA = Java Persistence API

as outras 2 questões levam a algunas discursões :slight_smile:
mas acho que tenho material que pode te ajudar.
como aqui não ta disponivel seu e-mail, me manda um Mensagem Privada ou Email que te encaminho um material que temos aqui.

[]s

tambem gostaria de receber esse material.
meu email:
freitas.anderson@gmail.com

poderia me enviar? grato.