如何通过该表中的另一个相关值在表中找到值?

时间:2016-05-20 15:24:36

标签: java database jpa

我在数据库中创建了一个表,所以我得到了一个" customerId"在该表和" cardId"中,因此客户可以将cardId倍增。我现在尝试的是:

 public CustomerId getCustomerId(String cardId) {

        this.getEntityManager();
        return em.find(CustomerMappingHelper.class, customerId);
    }

即使这不起作用(我猜我的Ecplise给我看了一些错误)......而且我在另一个班级中有一个查找方法,现在我卡住了因为我' m不确定我如何通过另一张卡ID查询客户ID,只是看看那一行背后的逻辑?

1 个答案:

答案 0 :(得分:0)

使用了JPQL并解决了我的问题,在这里我通过cardId搜索customerId

public String getCustomerId(String cardId) {
    Query q = em.createQuery("SELECT c.customerId FROM CustomerMapping c WHERE c.cardId = :cardId");
    q.setParameter("cardId", cardId);
    String customerId = (String) q.getSingleResult();
    return customerId;