gpt4 book ai didi

java - Ebean选择函数总是只取id列

转载 作者:行者123 更新时间:2023-12-02 01:32:37 25 4
gpt4 key购买 nike

在 Ebean select(String properties) 函数中始终采用表的 id。我知道 select 函数默认采用 id,但在我的情况下,虽然我给出了不同的属性(列名称),但它只采用 id

这是日志中运行的查询

txn[1001] select t0.id c0, t0.id c1 from commission_rates t0; --bind()

Play 版本 - 2.5.9

这是实体:

@Entity
@Table(name = "commission_rates")
public class CommissionRates extends Model {

@Id
@Column(name = "id")
private Long id;

@Enumerated(EnumType.ORDINAL)
@Column(name = "commission_type", nullable = false)
private CommissionType commissionType;

@Column(name = "commission_value", nullable = false)
private float commissionValue;

@Column(name = "applicable")
private int applicable;

@Column(name = "from_date")
@Temporal(TemporalType.DATE)
private Date fromDate;

@CreatedTimestamp
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "created_time", columnDefinition = "datetime", updatable = false)
private Date createdTime;
}

Ebean查询:

CommissionRates a = Ebean.find(CommissionRates.class).select("commission_type").findUnique();

我想选择commission_type 列和id。想办法让我出去。

最佳答案

如果使用 ebean Model.Finder 执行数据库查询,则使用模型类字段名称,如果使用 Ebean.find(ModelClass.class),则使用数据库列名称。

Note: this not only applies to select, but all

如果您想使用模型类字段名称而不是数据库名称,请添加

public static final Finder<Long, ClassName> find = new Finder<>(ClassName.class);

你可以做ClassName.find.select("commissionType").findUnique();

如果您想获取多个字段,请使用 , 作为选择方法中的分隔符。

关于java - Ebean选择函数总是只取id列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57546680/

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