Closed georgemoralis closed 3 years ago
I’ve been told that Jinq works fine on jdk11+. I haven’t done any extensive testing myself on newer jdks or with modules though.
getting the following error with jdk15
gr/codebb/protoerp/settings/SettingsHelper.java:[62,20] org.jinq.orm.stream.JinqStream.org.jinq.orm.stream.JinqStream.Where in package org.jinq.orm.stream is not accessible (package org.jinq.orm.stream is declared in the unnamed module, but module codebb.protoerp does not read it)
What is your modules setup? And what is SettingsHelper doing with Jinq? Is it just using Jinq internally or is it exposing some of Jinq’s classes externally?
my pom.xml has
my module class file has
requires jinq.jpa;
SettingsHelper is some help functions to update a table For example this is how it is done for one function (works fine under java 8)
public static void updateStringSetting(String settingName, String settingValue) {
GenericDao gdaoi1 = new GenericDao(SettingsEntity.class, MainApp.getEmf());
JinqJPAStreamProvider streams = new JinqJPAStreamProvider(MainApp.getEmf());
EntityManager em = MainApp.getEmf().createEntityManager();
Optional
if (result.isPresent()) {
SettingsEntity tmp3 = (SettingsEntity) result.get();
tmp3.setSettingValue(settingValue);
gdaoi1.updateEntity(tmp3);
}
}
JinqStream.Where is actually defined in org.jinq.api. Is it possible to reference that jar directly somehow in your module setup?
hmm it appears to compile if i add
requires api;
in module-info.java but i guess that is not a good name (can easily conflict)
I was hoping to hold off on adding modularizing the codebase until the next JDK LTS release because it might break the old JDK8 support, and a bunch of extra workarounds might be needed. I might be able to just rename things inside Maven though.
Let me think about it for a bit.
i am writting an open src ERP using jinq btw.
It is still in early stages but you can check it
I looked at enabling modules in Jinq, and it works, but I'm not sure I'm happy with the result, so I'm going to leave full module support for the future. Instead, I'll just provide automatic module names to the .jars so that there will be no module name collisions.
The module names you will need will eventually be org.jinq.api and org.jinq.jpa.
I don't have easy access to my build machine at the moment, so I'll need to hold off making an actual release with these changes until later on, unless it's really urgent for you.
it is not that urgent , atm i don't have collisions so take your time ;)
Ok, I've released version 1.8.32 to Maven. It provides the automatic module names org.jinq.api instead of api and org.jinq.jpa instead of jinq.jpa
Are there any plans to support jdk11+ ?