实体类
@Entity
@Table("abc")
public class Portfolio {
@Id
@Column(name="account_number")
@JsonProperty("account_number")
@ApiModelProperty(value = "account_number")
private String accountNumber;
@Column(name="query_email")
private String query_email;
}
HQL查询: 来自投资组合,其中query_email =' abc@gamil.com'
以上查询选择 query_email ,我不需要。 我想忽略select上的query_email。 如果我使用@Transient,则不允许我使用 query_email
进行查询这种情况还有其他解决方案吗?
答案 0 :(得分:0)
在构造函数上使用投影。
查询:
select new Portfolio(accountNumber) From Portfolio where query_email='abc@gamil.com'
您需要使用与查询相同的类型添加contrucor。
@Entity
@Table("abc")
public class Portfolio {
@Id
@Column(name="account_number")
@JsonProperty("account_number")
@ApiModelProperty(value = "account_number")
private String accountNumber;
@Column(name="query_email")
private String query_email;
public Portfolio(String accountNumber) {
this.accountNumber = accountNumber;
}
public Portfolio() {
}
}
或者然后使用 query.setResultTransformer(Portfolio.class):
Hibernate SQL Query result Mapping/Convert TO Object/Class/Bean