Como juntar três tabelas usando uma única tabela no hibernate?

Suraj Menon:

Eu tenho três tabelas A, Be Ce uma tabela de mapeamento A_B_Cque tem chaves estrangeiras para todos os três mesas e alguns outros atributos (digamos X, Y). Agora, quero associar-me a representar essas três tabelas na minha classe java.

O relacionamento entre essas tabelas é de um para muitos. Portanto, eu quero que minhas classes Java se pareçam com isso.

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

       ??? Hibernate Annotation or query
       Map<B,List<C>> BMapC;
}

@Entity(name = "B")
@Table(name = "B")
public class B {
      ...
}

@Entity(name = "C")
@Table(name = "C")
public class C {
      ...
}

Gostaria de saber se seria possível aproveitar as anotações do Hibernate para isso. Caso contrário, existe uma maneira de escrever uma consulta personalizada e preencher a variável?

Suraj Menon:

Infelizmente, o hibernate não fornece anotações prontas para uso em tais cenários. Esse cenário só pode ser tratado com a criação de um mapeamento de classe para A_B_C:

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

     @ManyToOne(cascade=CascadeType.ALL)
     @JoinColumn(name = "FK_B", nullable = false)
     private B b;

     @ManyToOne(cascade=CascadeType.ALL)
     @JoinColumn(name = "FK_C", nullable = false)
     private C c;

     //Getters, Setters, other attributes etc.
} 

E tenha uma lista desse objeto em A:

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

          @OneToMany(cascade=CascadeType.ALL)
          @JoinColumn(name = "FK_A", nullable = false)
          private Set<A_B_C> abc;

          //Getters, Setters, other attributes etc.
 } 

E programaticamente converter o conjunto abc em um mapa de B,C.

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como juntar três tabelas em cakephp, uma delas é a tabela HABTM

JOIN três tabelas usando uma tabela

como juntar três tabelas com uma saída

SQL Server: como posso obter uma linha única após juntar tabelas

Como juntar uma única tabela com várias colunas no Hive?

Como juntar três tabelas em SQLite?

Como juntar em três tabelas no mysql

Como juntar em três tabelas no mysql

Como juntar três tabelas no servidor sql

Como conectar três tabelas usando apenas uma entidade / classe no Spring e Hibernate

Como alinhar várias tabelas adicionadas a uma única tabela usando itextsharp em c #?

Como alinhar várias tabelas adicionadas a uma única tabela usando itextsharp em c #?

Como adicionar 2 tabelas de cima para baixo em uma única tabela usando PDFPTable em Java

SQL, como juntar três tabelas sem refex na segunda tabela?

Como posso juntar várias tabelas, incluindo uma tabela de junção (gerada automaticamente pelo Entity Framework) usando LINQ

Como juntar uma lista e grandes listas / tabelas usando LINQ

Como juntar 3 tabelas em uma com essas tabelas tendo chave estrangeira para uma quarta tabela?

Como ler várias tabelas como uma única tabela

Como mesclar 3 tabelas como uma única tabela no mysql?

Como juntar três tabelas usando Codeigniter se não houver campos comuns?

No MySQL, como juntar tabelas usando seus nomes que são baseados em valores de coluna de outra tabela?

Como juntar três tabelas e contar o registro com UNION uma coluna

Como obter dados de diferentes tabelas em uma única tabela

Como juntar consultas sql complexas em uma tabela usando subconsultas

Hibernate - ManyToMany usando propriedade única de uma das tabelas mapeadas

postgresql: como juntar uma única linha retornada por uma função em uma tabela

postgresql: como juntar uma única linha retornada por uma função em uma tabela

postgresql: como juntar uma única linha retornada por uma função em uma tabela

Como alternar uma única célula dentro de uma tabela tr / td multidimensional usando jQuery?