Whereas I had no problem with the CustomSQLUtil class in Liferay 6.2, I meet a problem with the new version of this class in Liferay 7. Indeed, the get method returns null instead of the expected query.
Does someone has reproduced this ?
Here is the description for my last test in Eclipse Mars :
compileOnly group: "com.liferay", name: "com.liferay.portal.dao.orm.custom.sql", version: "1.0.5"
After a gradle refresh, I am able to use the CustomSQLUtil class in my FooFinderImpl class to retrieve the appropriate query.
This query has been written in a default.xml file which is dropped into the src/custom-sql folder as mentionned in the Liferay 7 documentation :
https://dev.liferay.com/develop/tutorials/-/knowledge_base/7-0/custom-sql
I've tried with many places (in META-INF, in ressources..), I've even tried to extend the CustomSQL native class to get the configuration, but the get method of the CustomSQLUtil class returns always null instead of the sql query.
PS : I've noticed that this new "CustomSQLUtil.get" method now takes 2 parameters, a class is requested in addition to the query id. In this class parameter, I put the "Foo.class" value.
Does someone know if there is a configuration to do ? Does the classpath or bundlecontext has to be configured ?
To make it work add the custom-sql/default.xml
in the foo-service/src/main/resources
then in FooFinderImpl
use the CustomSQLUtil this way
CustomSQLUtil.get(getClass(),CONSTANT_QUERY_ID); //id of query in default.xml
this is an example on github https://github.com/bruinen/liferay-services-example