繁体   English   中英

Hibernate Annotation继承抽象基类

[英]Hibernate Annotation Inheriting Abstract Base Class

在我的应用程序中,我试图通过注释实现Hibernate映射。 我有一个抽象的基类,在这个类中存在Id属性。 我使用子类继承此基类。 代码如下:

@MappedSuperclass
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class Base implements IBase {

    private static final long serialVersionUID = -1433573674276444516L;

    private int id;

    public Base() {

    }

    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)   
    @Column(name="ID")
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}

儿童班是:

@Entity
@Table(name="USER")
public class User extends Base implements IUser {

    private static final long serialVersionUID = 344528694909088439L;

    private String name;

    public User() {

    }

    @Column(name="NAME", nullable=false)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }   
}

它正在创建USER表并且工作正常。

我想知道我是否正确地做到了这一点。

谢谢。

如果目标只是让几个独立的实体从基类继承一个公共字段,那么不,你没有正确地做到这一点。 注释@Inheritance是不必要的。 当你有一个实体(例如,车辆)和几个子实体(例如Car,Bike)时,必须使用@Inheritance。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM