davidmoten / davidmoten/rxjava2-jdbc
Java 9 TODO Automapped interface
- Dominant language
- Java
- Stars
- 394
- Forks
- 41
- Avg merge
- 2m
- Merged PRs (30d)
- 1
Description
This is not an issue, but had no idea where to drop suggestions
Automapped interface with default methods currentluy does not work in Java 9
In order to work in Java 9, folowing changes should be made :
in org.davidmoten.rx.jdbc.Util#ProxyService
class add additional method
@SuppressWarnings("unchecked")
public T newInstance(ResultSet rs, Class cls) {
return (T) Proxy.newProxyInstance(cls.getClassLoader(), new Class[] { cls }, new ProxyInstance(cls, values()));
}
in org.davidmoten.rx.jdbc.Util class
alter original method that works with java8
static T autoMap(ResultSet rs, Class cls, ProxyService proxyService) {
return proxyService.newInstance();
}
to a modified version that works with java 9
static T autoMap(ResultSet rs, Class cls, ProxyService proxyService) {
return proxyService.newInstance(rs, cls);
}
Testing example that worked in Java 9
Database
.test()
.select(Person.class)
.get()
.map(Person::name)
.blockingForEach(System.out::println);
Not related to this example - another suggestion - make annotation work with sql field aliases
I would be happy to share more ideas for this great great api.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.