【发布时间】:2012-09-25 03:39:03
【问题描述】:
这一定很幼稚,但我对何时使用@Entity 和@Embeddable 有疑问。
假设我有一个 User 和 Notification 课程。
@Entity
public class User{
//other properties
@onetomany
private List<Notification> notifications;
}
@Entity
public class Notification{
//properties
}
我知道将有User 和Notification 类的表,以及用于映射的第三个表。
如果我这样做呢?
@Entity
public class User {
//other properties
@ElementCollection
private List<Notification> notifications;
}
@Embeddable
public class Notification{
//properties
}
我知道这不会为Notification 创建表。但我仍然可以存储我的通知对象。我通过了documentation,但有几个疑问:
- 是否基于我是否希望将 B 类视为单独的表?
- 在创建表和可嵌入对象时是否存在性能差异?
- 除了直接查询表之外,我不能对可对表执行的嵌入对象执行哪些操作?
注意事项
对于阅读此问题的任何人,question 也可能对您有所帮助。
【问题讨论】:
标签: java spring hibernate jpa orm