blu*_*ker 2 java hibernate jpa jcr
我们有一个JPA Entity. 一旦实体保存在 db 中,该实体的某些字段(db 列)以及其他一些数据(不属于该实体的一部分)必须存储在 JCR 对象存储中。
我是否应该为 DB 和 JCR 创建一个实体(JPA),然后在实体中添加 JCR 字段并标记它们 @Transient?
或者
我应该使用继承还是组合(使用 JPA 实体)并创建一个新的 JCR 特定对象?基本上,JPA 实体应该严格用于 DB 还是@Transient在这种情况下是一种滥用?
JPA 实体应该严格用于 DB 还是
@Transient在这种情况下是一种滥用?
不是滥用,但您需要非常小心地处理 JPA 操作。一个merge或refresh太多,您的瞬态字段值就会丢失。
个人而言,我会创建了一个抽象在两个JPA和JCR的另一层会管理你的域对象的POJO,某种DomainObjectRepository会处理CRUD操作,以交互两个JPA和JCR,并从封装/映射到两个存储技术(将映射层映射到具有专用对象集的每种技术 - JPA 实体、JCR 节点)。
| 归档时间: |
|
| 查看次数: |
195 次 |
| 最近记录: |