EJB-QL的问题很奇怪,
我写了个CMP(有本地接口的)没有加findByName(String name)这个定位器方法的时候发布成功了。
但是加了个
findByName(String name)这个定位器方法
return type:java.util.Collection
parameters:String name
homeinterface:home/localhome
query:![CDATA[SELECT OBJECT(a) FROM Product2Bean AS a WHERE a.name = ?1]]
但是发布的时候出错:
20:46:55,578 INFO [MainDeployer] Starting deployment of package: file:/D:/jboss-3.2.1_tomcat-4.1.24/server/default/deploy/Product2.jar
20:46:56,500 INFO [EjbModule] Creating
20:46:56,500 INFO [EjbModule] Deploying Product2
20:46:56,515 INFO [EntityContainer] Creating
20:46:56,531 INFO [EntityInstancePool] Creating
20:46:56,531 INFO [EntityInstancePool] Created
20:46:56,546 INFO [EntityContainer] Created
20:46:56,546 INFO [EjbModule] Created
20:46:56,546 INFO [EjbModule] Starting
20:46:56,546 INFO [EntityContainer] Starting
20:46:56,781 INFO [Product2] Table 'Product2' already exists
20:46:56,781 ERROR [EntityContainer] Starting failed
org.jboss.deployment.DeploymentException: Error compiling EJB-QL statement '![CDATA[SELECT OBJECT(a) FROM Product2Bean AS a WHERE a.name = ?1]]'; - nested throwable: (org.jboss.ejb.plugins.cmp.ejbql.ParseException: Encountered "Product2Bean" at line 1, column 31.
Was expecting one of:
"IN" ...
<ABSTRACT_SCHEMA> ...
)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCEJBQLQuery.<init>(JDBCEJBQLQuery.java:46)