Hibernate - połączenie tabel

0

Witam, od zacząłem uczyć się ostatnio hibernate'a i napotkałem na taki problem, z którym nie mogę sobie poradzić. Mam dwie tabele:

Person:
-id
-name
-last_name
-is_customer
-is_user

UserCustomers
-id_user - FK(person-id)
-id_customer FK(person-id)

I teraz jak to odwzorować na encje w javie? Chodzi mi głowie o adnotacje złączeń tych dwóch tabel i samej implementacji atrybutów i metod za to odpowiedzialnych.

0

Wg mnie można to zrobić tak że masz encje User ktora dziedziczy po Person (klasie bazowej). To samo z encją Customer - dziedziczy po klasie Person.
I masz mapowanie miedzy nimi wiele-do-wielu:

 public class Customer extends Person {
...
...
@ManyToMany
  @JoinTable(
      name="T_CUSTOMER",
      joinColumns={@JoinColumn(name="id", referencedColumnName="ID")},
      inverseJoinColumns={@JoinColumn(name="ID", referencedColumnName="ID")})
  private List<User> users;
...
}


public class User extends Person{

  ...
  @ManyToMany(mappedBy="users")
  private List<Customer> customers;
...
}

Tak mi sie wydaje, ale może ktoś mądrzejszy to potwierdzić :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1