更新时嵌入的AttributeOverride无法正常工作

卢克·N

我有嵌入两个ModelId类的实体,其中一个是EmbeddedId,另一个引用了另一个实体。

@Entity
public class Report implements Serializable {

    @EmbeddedId
    private final ModelId id;

    @AttributeOverride(name = "id", column = @Column(name = "scheme_id")
    @Embedded
    private ModelId schemeId;

    public void changeScheme(ModelId schemeId) {
        this.schemeId = schemeId;
    }
}

@Embeddable
public class ModelId implements Serializable {

    private Integer id;
}

我可以插入选择, Report但是当我更新该字段时,schemeId我得到:

org.eclipse.persistence.exceptions.ValidationException
Exception Description: The attribute [id] of class [mypackage.ModelId] is mapped
to a primary key column in the database. Updates are not allowed.

我将GlassFish 4.1与EclipseLink 2.5一起使用。

我是否缺少某些东西?或者它是EclipseLink错误?


问题是,只有id使主键,schemeId才是外键。当我更改schemeId关联时,可以正常工作

@ManyToOne
@JoinColumn(name = "scheme_id", referencedColumnName = "id")
private Scheme scheme;

public void changeScheme(Scheme scheme) {
    this.scheme = scheme;
}

我一直在测试许多批注组合以及在GF4.0和EclipseLink 2.6中具有相同结果的情况。

这似乎是EclipseLink的无视@AttributeOverride更新过程中,并混合内schemeId.idid.id

愤怒的猴子

我们有同样的问题。看来该缺陷已被eclipselink的现有错误所覆盖(相对于2.6.0版,我仍然在2.6.3中看到此问题):

https://bugs.eclipse.org/bugs/show_bug.cgi?id=477638

它不会出现有任何这还没有活动,所以在此期间我换了@EmbeddedId是公正@Embedded并增加了一个专用的主键代替,就像这样:

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int privateId;

我还为以前属于主键的属性添加了一个复合唯一约束。我还必须更改EntityManager.find(dataType, id)呼叫以代替查询。我希望这有帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新面板时javascript无法正常工作

来自分类Dev

更新无法正常工作

来自分类Dev

休眠更新有时无法正常工作

来自分类Dev

WUSA.exe在安装更新时无法正常工作吗?

来自分类Dev

Bootstrap响应式嵌入无法正常工作

来自分类Dev

将python嵌入C ++无法正常工作

来自分类Dev

无法使嵌入式BroadcastReceiver正常工作

来自分类Dev

在.delay()中嵌入函数无法正常工作

来自分类Dev

php 中嵌入的 html 无法正常工作

来自分类Dev

动态添加嵌入时,Instagram嵌入无法正常工作

来自分类Dev

Mysqli更新无法正常工作

来自分类Dev

使用对象/嵌入/ iframe渲染PDF无法正常工作

来自分类Dev

Ant Media Server嵌入代码在wordpress中无法正常工作

来自分类Dev

将Python嵌入C示例无法正常工作

来自分类Dev

嵌入式PHP if语句无法正常工作

来自分类Dev

更新后ServiceBusTrigger无法正常工作

来自分类Dev

更新文件无法正常工作

来自分类Dev

余烬更新后LinkTo无法正常工作

来自分类Dev

Netflix桌面在更新后无法正常工作

来自分类Dev

通过PHP的MySQL更新无法正常工作

来自分类Dev

NetBeans更新后无法正常工作

来自分类Dev

Xubuntu软件更新无法正常工作?

来自分类Dev

表单提交的Firebase更新无法正常工作?

来自分类Dev

NetBeans更新后无法正常工作

来自分类Dev

使用concat的MySQL更新无法正常工作

来自分类Dev

更新记录ajax jQuery无法正常工作

来自分类Dev

软件更新程序无法正常工作

来自分类Dev

余烬更新后LinkTo无法正常工作

来自分类Dev

使用PDO更新mysql无法正常工作