Отображение интерфейса маркера гибернации с использованием jpa - PullRequest
1 голос
/ 18 мая 2011

Привет Я новичок в спящем режиме и столкнулся с проблемой в интерфейсе маркера сопоставления.У меня есть интерфейс маркера.

    public interface Item{}

Затем есть два класса, которые реализуют этот интерфейс:

    public class Hotel implements Item{
         private int id;
         private String name;
         private String location;
         .......
    }
    public class Restaurant implements Item{
         private int id;
         private String name; 
         private String cuisine;
         ....... 
    }

Есть еще один класс, который использует эти два класса:

    public class ItineraryItem {
          private int id;
          private Item item;
    }

Как я могу сопоставить эти классы, используя аннотации.

1 Ответ

0 голосов
/ 18 мая 2011

Код:

@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public abstract class Item {
     @Id
     private int id;
}

@Entity
public class Hotel extends Item {
     @Column
     private String name;
     @Column
     private String location;
}

@Entity
public class Restaurant extends Item {
     @Column
     private String name; 
     @Column
     private String cuisine;
}

@Entity
public class ItineraryItem {
      @Id
      private int id;
      @JoinColumn
      private Item item;
}

InheritanceType.TABLE_PER_CLASS приведет к тому, что Hotel и Restaurant будут иметь свои собственные отдельные таблицы.

Вы можете найти больше информации здесь: http://en.wikibooks.org/wiki/Java_Persistence/Inheritance

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...