gpt4 book ai didi

java - 没有原始属性的复合主键

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

我是 Java 和 Hibernate 的新手。我有复合键的问题。我正在尝试做这样的事情:

@Entity
class A {
@Id
int id;
}

@Entity
class B {
@Id
int id;
}


@Entity
class C {
@EmbeddedId
C_PK c_pk;
}

@Embeddable
class C_PK {
A a;
B b;
}

当我执行

...
session.save(c);
...

然后抛出异常,类型A和B无法插入数据库。是否有可能以某种方式告诉 hibernate 不保存 A 对象而只保存 A id?我的方法是否完全错误,我应该只在 C_PK 类中使用原始数据类型吗?

最佳答案

您应该在 C_PK 中的 A 和 B 引用上放置一个带有连接列的 @ManyToOne(或 OneToOne)。

@Embeddable
class C_PK {
@ManyToOne
A a;
@ManyToOne
B b;
}

关于java - 没有原始属性的复合主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7778264/

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