gpt4 book ai didi

jpa-2.0 - 未在新持久化实体中设置鉴别器列

转载 作者:行者123 更新时间:2023-12-02 00:15:16 26 4
gpt4 key购买 nike

我有一个看起来像这样的基类实体:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "IDTYPE",
discriminatorType = DiscriminatorType.STRING,
length = 12)
public class ProtoObject implements Serializable {

private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column
private String idtype;

// more columns

我有许多我构建和坚持的子类。但是我发现即使 idtype 列设置为我在数据库中所期望的(使用单独的数据库浏览器工具检查)Java 对象 idtype 没有为 EntityManager 在其缓存中的那些对象设置属性。

如果我通过 EntityManager 查找对象,最近持久化的对象似乎具有 idtype 空白的!如果我关闭应用程序并重新打开它,数据显示正常。

这是一个使用 EclipseLink 2.3.2.v20111125-r1046 的 JSF 2 应用程序。

这是一个已知的问题,任何人都可以提出解决方法吗?

最佳答案

您可以在持久化后更新缓存:

    this.entityManager.persist(protoObject);
this.entityManager.flush();
this.entityManager.refresh(protoObject);

关于jpa-2.0 - 未在新持久化实体中设置鉴别器列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13466891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com