相关疑难解决方法(0)

如何使用泛型关系实现多态JPA实体

我正在尝试使用JPA 2.0来创建具有泛型关系的多态实体.应该有两个表,一个事件表和一个通知表.在这些表中是彼此相关的具体实体,如下所示:

Event  <---------- Notification<X extends Event>
 |                      |
LoginEvent <------ LoginNotification extends Notification<LoginEvent>
Run Code Online (Sandbox Code Playgroud)

从逻辑上讲,这应该可以在hibernate中实现,因为它可以在SQL中实现:

+----------+    +----------+
| Event    |    | Notif    |
+----------+    +----------+
|          |    | Id       |
| Id       | <- | Evt_id   |
| Type     | <- | Type     |
| ...      |    | ...      |
+----------+    +----------+
Run Code Online (Sandbox Code Playgroud)

这就是我所拥有的:

@Entity
@Inheritance
public abstract class Event{

...
}

@Entity
public class LoginEvent extends Event{

...
}

@Entity
@Inheritance
public abstract class Notification<X extends Event>{

 @ManyToOne(optional=false, targetEntity=Event.class)
 @JoinColumn …
Run Code Online (Sandbox Code Playgroud)

java hibernate metamodel jpa-2.0

15
推荐指数
1
解决办法
1万
查看次数

标签 统计

hibernate ×1

java ×1

jpa-2.0 ×1

metamodel ×1