java hql 连接查询,java – 如何从HQL表单中的两个连接表查询中选择*?

我在这里有两个带有注释的hibernate实体:

@Entity

@Table(name = "CLIENT")

public class Client {

private Long pkClient;

private String name;

@Id

@GeneratedValue(strategy=GenerationType.AUTO)

@Column(name="PK_CLIENT")

public Long getPkClient() {

return pkClient;

}

public void setPkClient(Long pkClient) {

this.pkClient = pkClient;

}

@Column(name="NAME")

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

...

}

@Entity

@Table(name="ACCOUNT")

public class Account {

private Long pkClientAccount;

private Long fkClient;

private String accountNo;

@Id

@Column(name="PK_CLIENT_ACCOUNT")

@GeneratedValue(strategy=GenerationType.AUTO)

public Long getPkClientAccount() {

return pkClientAccount;

}

public void setPkClientAccount(Long pkClientAccount) {

this.pkClientAccount = pkClientAccount;

}

@Column(name="FK_CLIENT")

public Long getFkClient() {

return fkClient;

}

public void setFkClient(Long fkClient) {

this.fkClient = fkClient;

}

@Column(name="ACCOUNT_NO")

public String getAccountNo() {

return accountNo;

}

public void setAccountNo(String accountNo) {

this.accountNo = accountNo;

}

...

}

这种关系是一对多,客户有很多帐户.表ACCOUNT具有到表CLIENT的主键(PK_CLIENT)的外键(FK_CLIENT).

我想以HQL格式执行此查询:

select * from ACCOUNT a inner join CLIENT b on a.FK_CLIENT = b.PK_CLIENT

这意味着,将选择来自帐户和客户实体的所有属性.

任何人都知道如何以HQL形式进行查询?

AFAIK,在HQL中我们只能选择一个实体.

注意:

我不能在Account实体中使用@ManyToOne映射,因为已经有fkClient属性而且我无法更改它,因为get / setFkClient已经在其他地方使用过.

通过删除不相关的部分来简化上面的代码,使其更易于阅读.如果您发现拼写错误,请在评论部分告诉我,因为我手动输入了代码.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值