Java JPA实体类使用2@GeneratedValue字段给出错误

Java JPA实体类使用2@GeneratedValue字段给出错误,java,oracle,hibernate,jpa,eclipselink,Java,Oracle,Hibernate,Jpa,Eclipselink,我有两列将使用@GeneratedValues,但当我这样放置它们时,它给出了错误; “异常说明:类[Class Testing]有两个@GeneratedValue:用于字段[Testing.SEQ_NO]和[Testing.ID]。只允许一个。” 正如错误消息所说,只允许一个字段具有@GeneratedValue,但您有两个。 请移除其中一个 恐怕您不能通过简单的注释来达到预期目的。 查看此现有帖子,了解解决方法。 不确定为什么在同一个表中需要两列,它们的值需要自动递增。 如果您真的想要两

我有两列将使用@GeneratedValues,但当我这样放置它们时,它给出了错误; “异常说明:类[Class Testing]有两个@GeneratedValue:用于字段[Testing.SEQ_NO]和[Testing.ID]。只允许一个。”


正如错误消息所说,只允许一个字段具有
@GeneratedValue
,但您有两个。
请移除其中一个

恐怕您不能通过简单的注释来达到预期目的。
查看此现有帖子,了解解决方法。

不确定为什么在同一个表中需要两列,它们的值需要自动递增。
如果您真的想要两个唯一的列,您可以像往常一样使用您的id,并对另一列使用UUID

在Postgresql中使用columnDefinition=“serial”,这对我来说很有用

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(columnDefinition="serial")
@Generated(GenerationTime.INSERT)
private Long seqNo;

嗨@minjinyu,我必须自动生成这两个版本。@verma_neeraj兄弟,恐怕你不能用hibernate中的简单注释来实现这一点。请参阅更新。@mijinyu,非常感谢。您能解释一下为什么需要在同一个表中使用两列来自动递增,以便我们可以想出一些方法吗around@verma_neeraj很高兴我的回答有帮助。顺便说一句,友好提醒。当您回复某人的评论时,您可以键入“@”+姓名的前两个字母+“tab”。名称将自动弹出,这样名称中就不会出现键入错误,干杯。我正在试图找到一种方法,在同一实体类中自动生成ID和序号。JPA规范说,只能生成
@ID
字段。一些JPA提供程序(例如DataNucleus)也允许生成其他字段,但为了便于移植,只能生成“id”字段
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(columnDefinition="serial")
@Generated(GenerationTime.INSERT)
private Long seqNo;