gpt4 book ai didi

java - 使用 JPA 保留 1 列表

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:16:19 25 4
gpt4 key购买 nike

我有一个只有一列的表格。这是一个ID

如何使用 JPA 持久化它?

我试过 entityManager.persist(new OneColumnTable());

并抛出 PersistenceException

Caused by: javax.persistence.PersistenceException: Exception [EclipseLink-6023] (Eclipse Persistence Services - 2.2.0.v20110202-r8913): org.eclipse.persistence.exceptions.QueryException
Exception Description: **The list of fields to insert into the table [DatabaseTable(OneColumnTable)] is empty. You must define at least one mapping for this table.**
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.flush(EntityManagerImpl.java:747)
at com.sun.enterprise.container.common.impl.EntityManagerWrapper.flush(EntityManagerWrapper.java:418)

我该怎么做?

更新

@Entity
@Table(name = "OneColumnTable")
public class OneColumnTable implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name = "OneColumn")
private Integer oneColumn;

public OneColumnTable() {

}

public Integer getOneColumn() {
return oneColumn;
}

public void setOneColumn(Integer oneColumn) {
this.oneColumn= oneColumn;
}

}

表格

USE [myDB]
GO
/****** Object: Table [dbo].[OneColumnTable] Script Date: 07/15/2011 12:10:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[OneColumnTable](
[OneColumn] [bigint] IDENTITY(1,1) NOT NULL,
PRIMARY KEY CLUSTERED
(
[OneColumn] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

最佳答案

DataNucleus 可以很好地保存该类。对于某些 RDBMS,当没有指定列时,INSERT 语句必须是特定类型(因为您的唯一列是在数据存储中生成的),这大概是它不能做的。在 SQLServer 的情况下,任何体面的 JPA 实现都应该生成的语句是“INSERT INTO {tbl} DEFAULT VALUES”。也许得到一个执行该操作的实现?

关于java - 使用 JPA 保留 1 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708512/

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