我有一个类,我只需要来自另一个映射实体的单个列。我宁愿取消全面引用。有没有办法做到这一点?我已经详尽地搜索了一下,但是我绝对没有这个术语。休眠 - 只加入单列而不是整个实体
解释:
@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;
}
您是否尝试过最后一个片段,但没有'@ OneToOne'和'@ JoinColumn'?只有'@ Formula'? – corsiKa