Hibernate没有在pojo的父类中获取Inherited属性

时间:2017-03-02 12:05:24

标签: java hibernate inheritance annotations pojo

我在Database

的每个表格中都有一些共同字段

added_on added_by

  

我创建了一个pojo类:

public class CommonBean{

    @Column(name="added_on")
    public Date addedOn;

    @Column(name="added_by")
    public Integer addedBy;

    //setters and getters
}

所有pojo类都是extends pojo类:

示例:

@Table(name = "employee")
@Entity
public class HrEmployee extends CommonBean implements java.io.Serializable{

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public Integer id;

    @Column(name="first_name")
    private String firstName;

    @Column(name="middle_name")
    private String middleName;

    @Column(name="last_name")
    private String lastName;
}

但是当我调用hibernate条件的list方法时。 我可以在控制台中看到生成的查询:

Hibernate: 
    /* criteria query */ select
        this_.id as y0_,
        this_.first_name as y2_,
        this_.middle_name as y3_,
        this_.last_name as y4_ 
    from
        hr_employee this_ 

为什么它没有从其父类中获取属性?

我不确定是否可能或我在某处犯错。

由于

2 个答案:

答案 0 :(得分:2)

使用@MappedSuperclass注释

注释CommonBean类

答案 1 :(得分:0)

您需要使用@MappedSuperclass注释超类。这就是你怎么说hibernate从超类继承属性 this will help you