gpt4 book ai didi

java - Hibernate - 仅连接单个列而不是整个实体

转载 作者:行者123 更新时间:2023-11-30 06:27:39 25 4
gpt4 key购买 nike

我有一个类,我只需要另一个映射实体中的一列。我宁愿避免拥有完整的引用资料。有没有办法做到这一点?我已经用谷歌进行了详尽的搜索,但我一定没有正确的术语。

解释:

@Entity
@Table(name = "foo")
@Data
public class Foo {
@Id
@Column(name = "itemid")
private long id;

@Column(name = "name")
private String name;
}

这有效:

@Entity
@Table(name = "bar")
@Data
public class Bar{
@Id
@Column(name = "itemid")
private long id;

@Column(name = "other_name")
private String otherName;

@OneToOne
@PrimaryKeyJoinColumn
private Foo foo;
}

但我想要:

@Entity
@Table(name = "bar")
@Data
public class Bar{
@Id
@Column(name = "itemid")
private long id;

@Column(name = "other_name")
private String otherName;

@OneToOne
@JoinColumn(name = "itemid")
@Formula("SELECT name FROM FOO v where v.id = id")
// Something here...not sure what. Where name is the name from Foo
private String name;
}

最佳答案

您有几个选择。

第一个是,正如您所提到的,使用@Formula - 没有其他注释,只需使用@Formula。这应该完全符合您的预期。

或者,如果您发现自己经常需要这样做,您可以创建一个连接两列的 View ,并让您的对象基于该 View 而不是原始表。

关于java - Hibernate - 仅连接单个列而不是整个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46799230/

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