在我的应用程序中,我有三个实体,作为父实体的BaseNotification和作为扩展BaseNotification的子实体的SmsNotification和EmailNotification。
我正在使用休眠单表继承策略,因此所有属性都适合一个表。
让我们说我在BaseNotification实体上有一些共同的属性,子实体每个都有一个特定的属性(SmsNotification具有mobileNumber,EmailNotification具有email属性)。
public abstract class BaseNotification implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "description")
private String description;
...
}
public abstract class EmailNotification extends BaseNotification implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "email")
private String email;
...
}
public abstract class SmsNotification extends BaseNotification implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "mobileNumber")
private String mobileNumber;
...
}
是否有一种方法可以在春季休息时一次性获取具有所有属性的所有通知,同时对子属性(例如通过电子邮件)进行排序?