Java Spring引导:多次遇到导出标识符
出现以下错误Java Spring引导:多次遇到导出标识符,java,hibernate,spring-boot,Java,Hibernate,Spring Boot,出现以下错误 Caused by: org.hibernate.tool.schema.spi.SchemaManagementException:Export identifier [order_signal] encountered more than once 我有以下课程: tradingbot.persistence.model.order.TransactionComponent tradingbot.persistence.model.order.OrderSignal trad
Caused by: org.hibernate.tool.schema.spi.SchemaManagementException:Export identifier [order_signal] encountered more than once
我有以下课程:
tradingbot.persistence.model.order.TransactionComponent
tradingbot.persistence.model.order.OrderSignal
tradingbot.persistence.model.order.TransferSignal
在OrderSignal类中没有其他@Id,TransactionComponent中也没有Id的getter/setter
为什么会发生此错误?这是什么意思?如何修复它?我使用IntelliJ进行开发,在我的“out”目录中是旧的.class文件。一些java类已经被删除,但不知何故不在“out”目录中
作为解决方案,我删除了整个“out”目录。我遇到的一个发生上述问题的场景是,实体类如下所示
`@Entity
@Table(name = "universe")
public class Universe {
@GenericGenerator(
name = "universeSequenceGenerator",
strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
parameters = {
@Parameter(name = "sequence_name", value = "universe"),
@Parameter(name = "initial_value", value = "1"),
@Parameter(name = "increment_size", value = "1")
}
)
@Id
@GeneratedValue(generator = "universeSequenceGenerator")
private Integer id;
private String name;
....`
在上述场景中,将引发以下错误:org.hibernate.tool.schema.spi.SchemaManagementException:导出标识符[universe]遇到多次
这是因为@参数(name=“sequence\u name”,value=“universe”)
,当我们将其更改为@参数(name=“sequence\u name”,value=“universeSeq”)
时,错误消失。如果实体名称与参数名称等中的任何位置匹配,。那么这可能会发生
@Entity
@JsonRootName("OrderSignalDAO")
public class OrderSignal extends TransactionComponent {
...
}
@Entity(name = "TransferSignal")
public class TransferSignal extends TransactionComponent {
....
}
`@Entity
@Table(name = "universe")
public class Universe {
@GenericGenerator(
name = "universeSequenceGenerator",
strategy = "org.hibernate.id.enhanced.SequenceStyleGenerator",
parameters = {
@Parameter(name = "sequence_name", value = "universe"),
@Parameter(name = "initial_value", value = "1"),
@Parameter(name = "increment_size", value = "1")
}
)
@Id
@GeneratedValue(generator = "universeSequenceGenerator")
private Integer id;
private String name;
....`