mav*_*ick 9 java spring hibernate jpa-2.0
我已经完成了我的JPA事件(postUpdate),当我更新我的实体上的属性时,它们正在触发,除了映射为@ElementCollection的属性.
这是限制吗?配置选项?
这是我的实体的一部分
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class Pckg {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(nullable = false, length = 100)
private String title;
@ElementCollection
@CollectionTable (
name = "PckDest",
joinColumns = @JoinColumn(name = "package_id", nullable = false)
)
@Column(name = "destination", nullable = false, length = 150)
private List<String> destinations;
...
Run Code Online (Sandbox Code Playgroud)
换句话说,如果我更改"标题",我的听众会收到更改,但是当我更改"目标"时不会发生相同的变化
我通过spring(3.1)使用JPA和hibernate(4.0)作为提供者
谢谢
所有者端(Pck 表)不进行更新,更新的是保存集合数据的表(PckDest)。
我认为甚至可以争论的是,更改集合的内容可以被视为更新,因为它可以并且通常会被实现为删除和插入。
我认为您必须在实体管理生命周期之外处理此类行为,或者在所有者实体内部拥有某种字段,该字段会在列表更改时更新(例如某种校验和),这样当您更改列表时,父实体也会更新必须更新(尽管我不知道这是否是一个好主意)。
| 归档时间: |
|
| 查看次数: |
565 次 |
| 最近记录: |