【发布时间】:2019-12-06 12:45:15
【问题描述】:
通过@ManyToOne到现有表
@ManyToOne
@JoinColumns({
@JoinColumn(name = "ID", referencedColumnName = "APPLICATION_ID", insertable = false, updatable = false),
@JoinColumn(name = "VERSION", referencedColumnName = "APPLICATION_VERSION", insertable = false, updatable = false)
})
private ApplicationsBodies applicationsBodies;
我加入另一张桌子。
但是从连接表中,我只想连接一列。
@Entity
@Table
public class ApplicationsBodies implements Serializable {
...
@Column(name = "APPLICATION_ID")
private Long applicationId;
@Column(name = "APPLICATION_VERSION")
private Long applicationVersion;
//I want to attach only this column
@Lob
@Column(name = "BODY")
private String body;
@Column(name = "ACTIVE_STATE")
private Integer activeState;
如何使用 JPA / Hibernate 来实现?
更新:解决方案
@Formula 注释解决了我的问题。因为当我仅出于加载这一字段的目的引用一个实体时,对我来说它已成为最佳解决方案。
我删除了该字段:private ApplicationsBodies applicationsBodies。并创建了一个字段:private String body 带注释 @Formula 带值 - SQL 查询仅连接一列。
【问题讨论】:
标签: java database spring hibernate jpa