Hibernate

Boas ppl,

Estou desenvolvendo uma app para a web onde quero utilizar jsf, hibernate e jaas, porém tenho algumas dúvidas.
Existe alguma ferramenta que gere os files *.hbm.xml com base na base de dados, sem ter de os escrever à unha?
Como é q funciona a framework JAAS?
Podem-me mostrar algum exemplo de como implementar?

Será que alguem me pode ajudar?

//Graveyard

Hibernate é comum usar annotations ao inves daquele monte de xml…

um exemplo http://www.alexflorentino.com/hibernate-annotations-simplicidade

Olá,

Pq vc não tenta utilizar o Hibernate annotations? Eu acho mais simples, ai vc não precisa ficar utilizando xml.
Dê uma procurada no forum.

[]
Wallfox

Bom Dia

Da uma olhando em “Hibernate Tools” vc pode utilizar ele com o Eclipse…

Abraços

não conheço nenhuma ferramenta para gerar maps do hibernate automaticamente, o netbeans já ouvi dizer que gera classes com hibernate annotations usando a ddl do banco mais eu nunca fiz isso, xml só na unha mesmo, bote todo o mapeamento em um arquivo tipo “nomeDoProjeto.hbm.xml”, ai vc centraliza em um arquivo só.

Sobre JAAS tem um artigo aqui no GUJ, http://www.guj.com.br/java.tutorial.artigo.184.1.guj , é uma introdução mas já ajuda.

Boas ppl,

Quanto ao hibernate gostaria de saber de que forma consigo obter melhor desempenho, isto porque minha app vai manipular mais de 1.000.000 de registos,
precisamente por isso quero implementar uma camada de persistência, caso contrario a app fica mm mto lenta, não só por serem mtos registos mas também porque o banco de dados q utilizo é Sybase, que por sinal também é mto lento.

Quanto à framework JAAS, andei pesquisando e mto ppl diz que possui muitas limitações, gostaria de saber se existe alguma framework que seja mais “poderosa”.

[]'s
//Graveyard

Estou testanto o Hibernate, mas estou com alguns problemas, ele diz que não conhece algumas anotações.

Eis o meu cod.


package teste;
import org.hibernate.*;
import org.hibernate.annotations.Entity;
import org.hibernate.annotations.Table;
import org.hibernate.annotations.Generated;
import org.hibernate.annotations.Columns;

@Entity
@Table(name="Teste")
public class Teste {

	private int id;
	private String nome;

	@Column(name="ID")
	public int getId()
	{
		return id;
	}

	public void setId(int id)
	{
		gthis.id = id;
	}

	@Column(name="nome")
	public String getNome()
	{
		return nome;
	}

	public void setNome(String nome)
	{
		this.nome = nome;
	}
}

A versao do Hibernate Annotations que estou utilizando é: 3.4.0 CR1, e a do Core é 3.2.6

Está estourando nas seguintes annotations:
@Table(name=“Teste”)
@Column(name=“ID”)
@Column(name=“nome”)

Será que alguem me pode explicar porque é q isso acontece?

//Graveyard

tenta assim

@Entity(name=“nome_da_tabela”)

acho que esse Entity que vc ta carregando não é do javax.persistence

=)

[size=15]COlega vc está com seus imports totalmente errados[/size]

Heis um exemplo correto

Usa-se o Java Persistence API em conjunto com hibernate


package classes;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Temporal;

import org.hibernate.annotations.ForeignKey;

@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class VendaOrcamento implements Serializable {
    /**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Long idvendOrc;

    @ManyToOne(cascade=CascadeType.MERGE)
    @JoinColumn(name="id_Pessoa")
    @ForeignKey(name="id_PessoaFK")
    private PessoaFornecedor cod_cli;
    
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date ddata = new Date();

    @Column(nullable=false,length=10)
    private double valor_total;

    @Column(nullable=false,length=20)
    private String tipoPagamento;
    
    @Column(nullable=false,length=200)
    private String observacao = "N";

    @Column(nullable=false,length=10)
    private double acres_desc;

    @Column(nullable=false,length=2)
    private Integer n_parcelas;

    @Column(nullable=false,length=2)
    private Integer tipo;

    public Integer getTipo() {
        return tipo;
    }

    public void setTipo(Integer tipo) {
        this.tipo = tipo;
    }
    

   
    @OneToMany(cascade=CascadeType.ALL,
    		mappedBy="idvendOrc")
    private List<ProdVenda> listaProdutosVenda;
    
    public VendaOrcamento() {

        listaProdutosVenda = new ArrayList<ProdVenda>();
        cod_cli = new PessoaFornecedor();
    

    }
   

    public void adddProdVenda(ProdVenda p){
        this.listaProdutosVenda.add(p);
    }
    public void removerProdVenda(int p){
        this.listaProdutosVenda.remove(p);
    }



    public Long getIdvendOrc() {
        return idvendOrc;
    }

    public void setIdvendOrc(Long idvendOrc) {
        this.idvendOrc = idvendOrc;
    }

    public String getTipoPagamento() {
        return tipoPagamento;
    }

    public void setTipoPagamento(String TipoPagamento) {
        this.tipoPagamento = TipoPagamento;
    }

    public double getValor_total() {
        return valor_total;
    }

    public void setValor_total(double Valor_total) {
        this.valor_total = Valor_total;
    }

    public double getAcres_desc() {
        return acres_desc;
    }

    public void setAcres_desc(double acres_desc) {
        this.acres_desc = acres_desc;
    }

    public PessoaFornecedor getCod_cli() {
        return cod_cli;
    }

    public void setCod_cli(PessoaFornecedor cod_cli) {
        this.cod_cli = cod_cli;
    }

    public Date getDdata() {
        return ddata;
    }

    public void setDdata(Date ddata) {
        this.ddata = ddata;
    }

  
    public List<ProdVenda> getListaProdutosVenda() {
        return listaProdutosVenda;
    }

    public void setListaProdutosVenda(List<ProdVenda> listaProdutosVenda) {
        this.listaProdutosVenda = listaProdutosVenda;
    }

    public Integer getN_parcelas() {
        return n_parcelas;
    }

    public void setN_parcelas(Integer n_parcelas) {
        this.n_parcelas = n_parcelas;
    }

    public String getObservacao() {
        return observacao;
    }

    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final VendaOrcamento other = (VendaOrcamento) obj;
        if (this.idvendOrc != other.idvendOrc && (this.idvendOrc == null || !this.idvendOrc.equals(other.idvendOrc))) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 67 * hash + (this.idvendOrc != null ? this.idvendOrc.hashCode() : 0);
        return hash;
    }

    

}