gpt4 book ai didi

java - 使用 jpa 映射 Hibernate 标记接口(interface)

转载 作者:行者123 更新时间:2023-12-01 05:45:31 26 4
gpt4 key购买 nike

您好,我是 hibernate 新手,在映射标记接口(interface)方面遇到问题。我有一个标记界面。

    public interface Item{}

然后有两个类实现了这个接口(interface):

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

如何使用注释映射这些类。

最佳答案

代码:

@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

关于java - 使用 jpa 映射 Hibernate 标记接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6049433/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com