修复了Hibernate错误"两次使用相同的实体名称"

12 hibernate jpa

如何修复以下Hibernate错误:

什么是"两次使用相同的实体名称".

小智 15

当您有多个具有相同类名或显式名称的@Entity时,会发生此异常.要解决此问题,您必须为每个实体设置不同的显式名称.

错误案例:

package A;

@Entity
class Cell{
 ...   
}


package B;

@Entity
class Cell{
 ...   
}
Run Code Online (Sandbox Code Playgroud)

解决方案示例:包A;

@Entity(name="a.Cell")
class Cell{
 ...   
}


package B;

@Entity(name="b.Cell")
class Cell{
 ...   
}
Run Code Online (Sandbox Code Playgroud)

因此,要在HQL中使用它们,您必须编写

...createQuery("from a.Cell")...
Run Code Online (Sandbox Code Playgroud)

  • 我遇到了和你说的一样的问题。我改变了那些豆子的名字。这个对我有用 !!!!!!!! (2认同)

too*_*kit 0

我认为这意味着您在多个配置文件中声明了同一实体。

如果没有更多信息,我会尝试注释掉配置文件的块,以便您看不到错误,然后慢慢添加部分,直到遇到错误?

如果它只有几个配置文件,那么为什么不将它们发布在这里呢?发帖时,如果您在 XML 前面添加 4 个空格,那么它将是:

<xml>nicely formatted</xml>
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。