JPA 本机查询选择和转换对象
我有一个扩展的对象。默认情况下,两个对象都位于我的 Derby 数据库的表中(包含的字段来自 )。通常我会选择一个这样的:Admin
User
User_
Admin
User
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<User> query = cb.createQuery(User.class);
Root user= query.from(User.class);
Predicate predicateId = cb.equal(category.get("id"), id);
query.select(user).where(predicateId);
return em.createQuery(query).getSingleResult();
但是,由于我的查询的复杂性,我使用的是这样的本机查询:
Query query = em.createNativeQuery("SELECT USER.* FROM USER_ AS USER WHERE ID = ?");
query.setParameter(1, id);
return (User) query.getSingleResult();
尽管这会引发强制转换异常。我认为这是由于.Admin
我的问题是,我如何选择一个使用结果相等的本机查询作为第一个示例(包括与JPQL查询返回的和(等)相同的值)?User
@LOB
@ManyToOne