Você está na página 1de 4

@Basic(optional = false) campos obrigatorio

@Column(name = "NM_MUSICA", length = 100, unique = true)


para trocar parametros do banco de dados

reflitira no bd
@Entity(name = "MinhaEntity")

@TableGenerator(name= Musica.IDS_TABLE_NAME,
table="tabela_de_ids",
pkColumnName="tabela",
pkColumnValue="musica_id",
valueColumnName="id_atual"

@OneToOne
@JoinColumn(name = "chave_do_endereco")

@Entity
public class Pessoa{
// outras informações
@OneToMany
private List<Cachorro> cachorros;
}
@Entity
public class Pessoa{
// outras informações
@OneToMany
@JoinColumn(name = "pessoa_id")
private List<Cachorro> cachorros;
}
@Entity
public class Cachorro {
@Id
@GeneratedValue
private int id;
private String nome;
@ManyToOne
@JoinColumn(name = "pessoa_id")
private Pessoa pessoa;

orm trnasformar informações deum banco de dados, que estão no modelo relacional
para classes java.

o livro jsf sao constituidos de modulos independentes.

para implement\ção é necessaprio a utilização do pacote javax.persistence.*

<exclude-unlisted-classes> exclui as pastas nao utilizadas

<class> mapeia as entidades presentes no persistence unit

<entity class="com.uaihebert.model.Pessoa">
<attributes>
<basic name="nome">
<column name="nome_pessoa"/>
</basic>
</attributes>

no xml

@Table(name = "tb_music_2421638")
antes da class depois do entity name="nme do bd"
toda classe no hibernate deve seguir esse passos
Deve ser anotada com @Entity;
• Deve ter um campo definido que representa a chave primária da tabela, anotado com
@Id;
• Deve ter um construtor público sem parâmetros.

@Basic(optional = false) campos obrigatorio


@Column(name = "NM_MUSICA", length = 100, unique = true)
para trocar parametros do banco de dados

reflitira no bd
@Entity(name = "MinhaEntity")

@TableGenerator(name= Musica.IDS_TABLE_NAME,
table="tabela_de_ids",
pkColumnName="tabela",
pkColumnValue="musica_id",
valueColumnName="id_atual"

@Id
@GeneratedValue(strategy = GenerationType.AUTO)

chaves compostas

@Embeddable
public class MusicaId implements Serializable {
private int duracaoSegundos;
private String nome;
public MusicaId(){ }
public MusicaId(int duracaoSegundos, String nome) {
super();
this.duracaoSegundos = duracaoSegundos;
this.nome = nome;
}
// hashCode e equals
}

@Entity
public class Musica implements Serializable {
@Id
@OneToOne
@JoinColumn(name = "codigo_id")
private CodigoUnico codigoUnico;
// getters e setters
}

@Entity
@Table(name="MUSICA")
@SecondaryTable(
name="MUSICA_2372",
pkJoinColumns={@PrimaryKeyJoinColumn(name="MUSICA_ID")}
)

@Column(table = "TABELA_X")
private String nome;

mapeando herança jpa

uti.iza uma unica entity para a relacao

@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "pertence_a_classe")
public abstract class Pessoa {
@Id
@GeneratedValue
private int id;
private String nome;
}

@Entity
@DiscriminatorValue("PessoaJuridica")
public class PessoaJuridica extends Pessoa{
private String CNPJ;
// outras coisas
}
import javax.persistence.*;
@Entity
@DiscriminatorValue("PessoaFisica")
public class PessoaFisica extends Pessoa{
private String CPF;
// outras coisas
}

utiliza duas tabelas.. uma para cada entity

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Pessoa { ... }
@Entity
public class PessoaFisica extends Pessoa { ... }
@Entity
public class PessoaJuridica extends Pessoa { ... }
@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class Pessoa { ... }

@Entity
public class PessoaFisica extends Pessoa{ ... }
@Entity
public class PessoaJuridica extends Pessoa{ ... }

mapeando relacionamentos

relacionaento onetoone
}