java joincolumn_java – 通过joinColumn的EntityManager查询

我有一个Login实体和一个Customer实体. Login.username是customer表中的外键.因此,Java Customer POJO中的以下行

@OneToOne(fetch = FetchType.LAZY)

@JoinColumn(name = "username", nullable = false)

private Login login;

我的问题是:有没有一种简单的方法来使用用户名查询客户表?或者我必须首先通过用户名登录,然后通过登录获取客户?

这是JPA条件查询.而且,是的,我更愿意使用条件查询.

public Customer getCustomerByUsername(String username) throws EntityNotFoundException {

CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();

CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Customer.class);

Root root = criteriaQuery.from(Customer.class);

Path path = root.get("username");

criteriaQuery.where(criteriaBuilder.equal(path, username));

return entityManager.createQuery(criteriaQuery).getSingleResult();

}

路径< String>行path = root.< String> get(“username”)抛出异常,表示用户名…不存在.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值