休眠:是否有一个不存在但可以从数据库中拉出的字段?

问题描述

我是以下Hibernate实体:

@Entity(name = "status")
@Table(name = "status")
public class Status implements Serializable {

    @Id
    @JsonProperty
    @Column(name = "status_id")
    private Integer statusId;


    @JsonProperty
    @Column(name = "status_label")
    private String statusLabel;

    @JsonProperty
    @Transient
    private String statusOrigin;

}

statusOrigin是暂时的,因为它不是status表中的一列。

这对于按预期创建仅包含statusIdstatusLabel字段的对象非常有用。

但是当我想通过连接查询将Status对象返回到前端时,该查询填充所有3个字段,因为statusOrigin是瞬态的,所以它不起作用。

如何执行以下操作:

  1. 保持原样的创建功能
  2. 确保从联接查询的结果中填充statusOrigin字段并将其发送到UI

解决方法

您可以在字段中添加可插入和可更新的false

@Column(name="statusOrigin",insertable=false,updatable=false)