虽然我对Liferay 6.2中的CustomSQLUtil类没有任何问题,但是我在Liferay 7中遇到了这个类的新版本的问题.的确,get方法返回null而不是预期的查询.
有人复制了吗?
以下是我在Eclipse Mars中的最后一次测试的描述:
compileOnly group:"com.liferay",name:"com.liferay.portal.dao.orm.custom.sql",version:"1.0.5"
在gradle刷新之后,我能够在我的FooFinderImpl类中使用CustomSQLUtil类来检索适当的查询.
此查询已写入default.xml文件,该文件被放入sray/custom-sql文件夹中,如Liferay 7文档中所述:
https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/custom-sql
我已经尝试了很多地方(在META-INF,在ressources ..),我甚至尝试扩展CustomSQL本机类来获取配置,但CustomSQLUtil类的get方法返回总是null而不是sql查询.
PS:我注意到这个新的"CustomSQLUtil.get"方法现在需要2个参数,除了查询ID之外还要求一个类.在这个类参数中,我输入了"Foo.class"值.
有人知道是否有配置要做?是否必须配置classpath或bundlecontext?
在我的Liferay 7项目中,Service Builder可以很好地生成文件tables.sql(带有完整的sql),但不会像在Liferay 6.2中那样在SERVICECOMPONENT native liferay表中包含此内容.
因此,当我重新启动服务器时,数据库中没有更新,而数据模型已被修改.
我必须手动运行tables.sql中包含的sql脚本来暂时解决问题.
有人复制了吗?是否有任何选项(Liferay 7中的新选项?)我不知道哪个可以导致这种行为.
注意:当然,选项build.auto.upgrade(在service.properties中)设置为true,并且没有service-ext.properties可以覆盖此