gpt4 book ai didi

java - ManyToOne 多个连接列,一个是默认值

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

A 类有一个使用 Embeddable 创建的复合主键。在 B 类中,我从多对一关系中引用 A 类。但是,B 类只有 A 类的复合主键的列之一。对于其他值,我希望它是默认值。

这可能吗?

我试过使用多个连接列,但这不起作用,因为表中的任何地方都不存在第二列。我还认为也许有一个使用 Transient 的解决方案,但我不确定它是如何工作的。

最佳答案

如果 A 有复合主键,则需要两部分来唯一标识 A。因此,您的数据库确实有一个来自 B->A 的 OneToMany,您希望实体仅根据设定值引用特定对象。我认为这不是一个好主意,因为它会使实体重用变得困难,并且插入和操作 As 和 B 极其复杂,而 JPA 不允许这样做。通常最好使用像序列这样的单个唯一标识符。

Hibernate 和其他提供程序确实允许在引用中使用部分键。您将需要向关系添加一个 Hibernate 过滤器,以使其根据未映射的字段仅提取 1 B:http://docs.jboss.org/hibernate/orm/3.6/reference/en-US/html/filters.html

关于java - ManyToOne 多个连接列,一个是默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21284569/

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