gpt4 book ai didi

Liferay 服务生成器 : Not able to run dynamic query

转载 作者:行者123 更新时间:2023-12-05 00:16:00 25 4
gpt4 key购买 nike

我有两个插件 portlet。首先有所有实体的服务构建器。第二个portlet 使用服务的jar 文件来执行动态查询。

我在我的第二个插件 portlet 中使用第一个服务 jar 来与数据库交互。但是在这个 jar 文件中没有任何 Impl 类。这就是为什么我收到错误 Impl Class not found 的原因。
以下供引用:

DynamicQuery dynamicQuery = DynamicQueryFactoryUtil.forClass(XXX.class,
PortletClassLoaderUtil.getClassLoader());
try {
XXXLocalServiceUtil.dynamicQuery(dynamicQuery);
} catch (SystemException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

错误:
[DynamicQueryFactoryImpl:96] 无法找到模型 com.compass.model.impl.XXXImpl
java.lang.ClassNotFoundException:com.compass.model.impl.XXXImpl

服务构建器的正常功能运行良好

最佳答案

只是不要以这种方式使用 DynamicQueryFactoryUtil 而是 XXXLocalServiceUtil

DynamicQuery dynamicQuery = XXXLocalServiceUtil.dynamicQuery() 
try {
XXXLocalServiceUtil.dynamicQuery(dynamicQuery);
} catch (SystemException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

如果你想使用工厂,你必须使用接口(interface)模型而不是实体的 impl,所以如果你有一个实体 FooImpl 起诉 Foo.class 并使用你的服务插件 portlet 的 classloder
Classloader cl =(ClassLoader) PortletBeanLocatorUtil.locate("services-portlet", "portletClassLoader");
DynamicQueryFactoryUtil.forClass(XXX.class, cl);

关于Liferay 服务生成器 : Not able to run dynamic query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43067160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com