I have a problem that an orm query cannot get the associated table columns。When this code is executed, ebean executes such sql without obtaining the tenant_user_relation.usertype field。
// Java
List rows = new QTenantEntity().select("userType").users.state.eq(1).asDto(UserDto.class).findList();
// Ebean transform SQL
select distinct t0.id from tenant t0 join tenant_user_relation u1 on u1.tenant_id = t0.id where u1.state = ? and t0.deleted = 0; --bind(1)
@Entity
@Table(name = "tenant")
public class TenantEntity extends AuditFields {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true, mappedBy="tenant")
private List<TenantUserEntity> users;
// ...
}
@Entity
@Table(name = "tenant_user_relation")
public class TenantUserEntity extends AuditFields {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long id;
@ManyToOne
@JoinColumn(name="tenant_id", foreignKey = @ForeignKey(name = "none",value = ConstraintMode.NO_CONSTRAINT))
private TenantEntity tenant;
private int userType;
private int state;
// ...
}
question from:
https://stackoverflow.com/questions/65860084/ebean-orm-query-can-t-get-associated-table-columns 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…