EJBQL 的问题 怎么我的ql 不能finder CMR

03-12-22 worsewei

我的查询语句是 SELECT DISTINCT OBJECT (O)

From access o, IN (o.User) l WHERE l.userId = ?!

其中 access he user 的关系是 many -to-one !

access 的 schema 是 Access . user 的 schema 是 User

报如下 错误! sq l 是由xdoclet 产生!

Depends On Me: org.jboss.deployment.DeploymentException: Error compiling EJB-QL statement 'SELECT DISTINCT OBJECT(o) FROM Access AS o, IN(o.User) AS l WHERE l.userId = ?1'; - nested throwable: (org.jboss.ejb.plugins.cmp.ejbql.UnknownPathException: Unknown terminal field: at line 1, column 53. Encountered: "User" after: "o.")]

请指点! 万分感谢! 由于是初学者,也查过部分资料和相关文档! 还是没能解决!

worsewei
2003-12-22 17:07

可能我的问题太白痴了! 不过求大虾指点一二!

书上说 IN(o.lineItems) l

中 lineItems is the name of a cmr -fieli whose name is a collection if instances of the abstracts schema type LinesItem of LineItemEJB entity Bean .

虽然 我的 user 不是 collection ! 但 有 A single_ valued _cmr _field !!!! 不知道是怎么回事

我连 数据库中相应的字段名都试过错误 一样! 到底是怎么回事! 还是我根本理解就有问题 555555555555555555!

还有 collection_valued_path_exception ::=

identification_variable.[single_valued_cmr_field.]* collection_valued_cmr_field!

怎么理解 ! 谢谢各位了 !