1

こんにちは、休止状態が初めてで、マーカー インターフェイスのマッピングで問題に直面しています。私はマーカーインターフェースを持っています。

    public interface Item{}

次に、このインターフェイスを実装する 2 つのクラスがあります。

    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;
         ....... 
    }

これら 2 つのクラスを使用する別のクラスがあります。

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

アノテーションを使用してこれらのクラスをマップするにはどうすればよいですか。

4

1 に答える 1

0

コード:

@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独自の個別のテーブルが作成されますHotelRestaurant

詳細については、http ://en.wikibooks.org/wiki/Java_Persistence/Inheritanceを参照してください。

于 2011-05-18T18:54:06.780 に答える