JPA使用数据库视图问题

在JPA调用数据库视图Menu,使用myeclipse的jpa reverse后,会生成两个类Menu和MenuId

进行查询时,始终报错
代码如下:
[code="java"]
String jpql = "SELECT u FROM Menu u WHERE u.id.userid = ?1";
Query query = getEntityManager().createQuery(jpql);

query.setParameter(1, users);
List

queryList = query.getResultList();
for (Menu c : queryList) {            

    System.out.println(c.getId());  //始终报错 

 }  

[/code]

严重: Servlet.service() for servlet default threw exception
java.lang.NullPointerException
错误行指向System语句行

哥们用这个 createNativeQuery接受一个sql 语句。。只要这个sql语句能在数据库分析器中执行就可以了。
String sql = "SELECT * FROM t_Menu";//其中

//创建原生SQL查询QUERY实例
Query query = em.createNativeQuery(sql);
//执行查询,返回的是对象数组(Object[])列表,
//每一个对象数组存的是相应的实体属性
List objecArraytList = query.getResultList();

是不是主键映射有问题? 贴一下映射

String jpql = "SELECT u FROM Menu u WHERE u.id.userid = ?1";

query.setParameter(1, users); //此处users是什么对象? 是不是应该把ql改成u.id=?1

看看生成的sql对吗