gpt4 book ai didi

java - 在两个不同模式中使用两个同名表时避免 Hibernate Annotation Exception

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

我有两个表,都在两个不同的模式中命名为 Language,我们称它们为 schema1 和 schema2。

当我为每个表添加注释时,我的代码如下所示: @实体 @Table(name="语言", catalog="schema1") 公共(public)课语言{

.....................

@Entity
@Table(name="language", catalog="schema2")
public class Language {

但是当这样做时,我得到一个注解异常错误如下:

org.hibernate.AnnotationException:两次使用相同的实体名称:语言

那么,这是否意味着我不能在两个不同的数据库模式中使用同名表,或者我只是错误地注释了我的模型?

谢谢,

埃利奥特

最佳答案

我在复杂的类结构中遇到了同样的问题,上面的答案只是一种解决方法。您可以使用 name 变量定义 @Entity 注释,以区分这两个类。例如:

第 1 类:

@Entity(name="language_v1")
@Table(name="language", catalog="schema1")
public class Language {

第 2 类:

@Entity(name="language_v2")
@Table(name="language", catalog="schema2")
public class Language {

这将允许您保持类结构。

关于java - 在两个不同模式中使用两个同名表时避免 Hibernate Annotation Exception,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7969550/

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