bal*_*teo 5 hibernate jpa jpa-2.0
我的情况是,我需要将JPA 单向关系更改为双向关系(Account实体具有 的列表Advertisements),以便给定 a AdvertisementI 可以确定它是否属于 an Account(出于安全原因)。
似乎跨领域问题对我的应用程序施加了设计决策,我不确定这是否好。
另外,我不知道使用双向关系的缺点是什么。
任何人都可以发表评论和建议吗?
让我试着用一个例子来回答这个问题:
@Entity
public clas Account {
@OneToMany(mappedBy = "account") // is mappedBy really necessary ?
private List<Advertisements> advertisements;
}
Run Code Online (Sandbox Code Playgroud)
单向缺点:
缺乏mappedBy属性导致单向一对多关系并产生额外的由外键组成的连接表。这通常被视为 JPA 陷阱,并对数据库级别的性能产生负面影响(您有三个表而不是两个)。
@Entity
public clas Advertisements {
@ManyToOne
@JoinColumn(name="ACCOUNT_ID")
private Account account; // is Account really necessary ?
}
Run Code Online (Sandbox Code Playgroud)
双向缺点:
您可以从JPA导航Advertisements到Account因此您可以访问单值关联路径"SELECT adv.account FROM Advertisements adv"。假设是您不想这样做,因此可以说这可能会对 JPA 级别的安全性产生负面影响。
| 归档时间: |
|
| 查看次数: |
2747 次 |
| 最近记录: |