gpt4 book ai didi

java - 尝试插入扩展实体时出错: invalid column index

转载 作者:行者123 更新时间:2023-11-30 07:56:18 25 4
gpt4 key购买 nike

我有两个类的两个实体。第一个是第二个的扩展类(观察者模式): child :

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorValue("User")
@Table(name="SCH.USER")
public class User extends Observer implements Serializable{
...fields...
}

还有父亲:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "DISCRIMINATOR", discriminatorType = DiscriminatorType.STRING)
@Table(name="SCH.OBSERVER")
public abstract class Observer implements Serializable{

@Id
@SequenceGenerator(name = "OBSERVER_ID_GENERATOR", sequenceName = "NEXO.SEQ_OBSERVER", allocationSize = 1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "OBSERVER_ID_GENERATOR")
@Column(name="ID_OBSERVER")
private Long idObserver;

@Column(name = "DISCRIMINATOR", nullable=false, length=20)
private String discriminator;
}

自从我将 JPA 2.0 升级到 JPA 2.1 以来,我无法保留子实体:em.persist(userInstance);它会生成下一个 SQL:

insert 
into
NEXO.OBSERVER
(DISCRIMINATOR, ID_OBSERVER)
values
('User', ?)

并得到结果错误:

java.sql.SQLException: invalid column index

我非常确定此行为更改是由升级到 JPA 2.1 产生的

最佳答案

@Chris 是对的。当我从 Jboss7 升级到 Wildfly10 时,注意到这个错误并通过更新鉴别器修复了

@Column(name = "INPUT_TYPE", nullable = false, length = 6, insertable = false, updatable = false) public String getInputType() { return inputType; }

关于java - 尝试插入扩展实体时出错: invalid column index,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32630548/

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