Loading ...
Sorry, an error occurred while loading the content.

Mapeamento Hibernate - Tabela associativa com atributos

Expand Messages
  • Alex Rios
    Olá Pessoal. Imaginei a seguinte situação e gostaria de validar com o pessoal que tem mais experiência com mapeamento se seria correto dessa forma;
    Message 1 of 2 , Oct 29, 2010
    • 0 Attachment
      Olá Pessoal.
       
      Imaginei a seguinte situação e gostaria de validar com o pessoal que tem mais experiência com mapeamento se seria correto dessa forma;
       
      Tabelas:
      - Estado(codigo[pk], nome);
      - Regiao(codigo[pk], nome);
      E uma Associativa entre as duas:
      - Regiao_Estado(codigo_estado[fk], codigo_regiao[fk], data_associacao, ativo);
       
      Para mapear essa situação eu criar as classes:
      @Entity
      @Table(name="REGIAO")
      public class Regiao implements Serializable{

       
       @Id @Column(name="CD_REGIAO")
       private Long codigo;
       @Column(name="NM_REGIAO")
       private String nome;
       @ManyToOne
       @JoinColumn(name="CD_REGIAO_FK")
       private RegiaoEstado associacaoEstado; 
      --------------------------------------------------------------------
      @Entity
      @Table(name="ESTADO")
      public class Estado implements Serializable {
       @Id @Column(name="CD_ESTADO")
       private Long codigo;
       @Column(name="NM_ESTADO")
       private String nome;
       @ManyToOne
       @JoinColumn(name="CD_ESTADO_FK")
       private RegiaoEstado associacaoEstado;
      --------------------------------------------------------------------
      @Entity
      @Table(name="REGIAO_ESTADO")
      public class RegiaoEstado implements Serializable{
       
       @Id @Column(name="DS_MES_ANO_ASSOC_REG_EST")
       @Temporal(TemporalType.TIMESTAMP)
       private Calendar data;
       @Column(name="CD_ESTADO_FK", nullable=false)
       private Long estado;
       @Column(name="CD_REGIAO_FK", nullable=false)
       private Long regiao;
       @Column(name="FL_ATIVO")
       private Boolean ativo;
      }
       
      Essa é a forma mais indicada de mapear uma tabela associativa com atributos?
       
      Muito Obrigado!

      --
      Atenciosamente,
      Alex Rios

      f5refresh.wordpress.com
    • Felipe Fraga
      Olá. Não conferi as suas anotações, mas você não precisa criar explicitamente a Classe. Você pode usar @JoinTable. Abraço, Felipe Fraga 2010/10/29 Alex
      Message 2 of 2 , Oct 30, 2010
      • 0 Attachment
        Olá.

        Não conferi as suas anotações, mas você não precisa criar explicitamente a Classe. Você pode usar @JoinTable.

        Abraço,

        Felipe Fraga

        2010/10/29 Alex Rios <alex.rios1337@...>
         

        Olá Pessoal.
         
        Imaginei a seguinte situação e gostaria de validar com o pessoal que tem mais experiência com mapeamento se seria correto dessa forma;
         
        Tabelas:
        - Estado(codigo[pk], nome);
        - Regiao(codigo[pk], nome);
        E uma Associativa entre as duas:
        - Regiao_Estado(codigo_estado[fk], codigo_regiao[fk], data_associacao, ativo);
         
        Para mapear essa situação eu criar as classes:
        @Entity
        @Table(name="REGIAO")
        public class Regiao implements Serializable{

         
         @Id @Column(name="CD_REGIAO")
         private Long codigo;
         @Column(name="NM_REGIAO")
         private String nome;
         @ManyToOne
         @JoinColumn(name="CD_REGIAO_FK")
         private RegiaoEstado associacaoEstado; 
        --------------------------------------------------------------------
        @Entity
        @Table(name="ESTADO")
        public class Estado implements Serializable {
         @Id @Column(name="CD_ESTADO")
         private Long codigo;
         @Column(name="NM_ESTADO")
         private String nome;
         @ManyToOne
         @JoinColumn(name="CD_ESTADO_FK")
         private RegiaoEstado associacaoEstado;
        --------------------------------------------------------------------
        @Entity
        @Table(name="REGIAO_ESTADO")
        public class RegiaoEstado implements Serializable{
         
         @Id @Column(name="DS_MES_ANO_ASSOC_REG_EST")
         @Temporal(TemporalType.TIMESTAMP)
         private Calendar data;
         @Column(name="CD_ESTADO_FK", nullable=false)
         private Long estado;
         @Column(name="CD_REGIAO_FK", nullable=false)
         private Long regiao;
         @Column(name="FL_ATIVO")
         private Boolean ativo;
        }
         
        Essa é a forma mais indicada de mapear uma tabela associativa com atributos?
         
        Muito Obrigado!

        --
        Atenciosamente,
        Alex Rios

        f5refresh.wordpress.com

      Your message has been successfully submitted and would be delivered to recipients shortly.