Java jpa创建查询方法
这是我获取所有用户信用卡的代码。 这是错误消息 java.lang.IllegalArgumentException:您试图为参数id设置一个类型为class java.lang.Integer的值,参数id的预期类型为class JPA。用户从查询字符串中选择u.cardNumber from Creditcard u,其中u.userID=:id 在我的数据库中,cardnumber存储为double,userid存储为int,因此我不明白为什么程序告诉我需要发送jpa.user对象。使用EntityManagercreateQuery时,其中的字符串不是SQL而是JPQL。CreditCard类中的userID映射元素的类型为User-other-class,而不是您期望的用户id 您正在寻找的JPQL查询可能是:Java jpa创建查询方法,java,jpa,Java,Jpa,这是我获取所有用户信用卡的代码。 这是错误消息 java.lang.IllegalArgumentException:您试图为参数id设置一个类型为class java.lang.Integer的值,参数id的预期类型为class JPA。用户从查询字符串中选择u.cardNumber from Creditcard u,其中u.userID=:id 在我的数据库中,cardnumber存储为double,userid存储为int,因此我不明白为什么程序告诉我需要发送jpa.user对象。使用E
public List<Double> getAllCards(int a) {
EntityManager em = emFactory.createEntityManager();
Query query = em.createQuery("Select u.cardNumber from Creditcard u where u.userID= :id");
query.setParameter("id", a);
List<Double> result = query.getResultList();
em.close();
return result;
}
为了确定这是否是解决您问题的JPQL查询,我们需要查看CreditCard和用户类的设计
Select u.cardNumber from Creditcard u where u.userID.id = :id