davidmoten/rxjava2-jdbc

Java 9 TODO Automapped interface

開放

#22 建立於 2018年3月8日

 (5 則留言) (0 個反應) (0 位負責人)Java (41 個分叉)github user discovery
enhancementhelp wanted

倉庫指標

星標
 (396 顆星)
PR 合併指標
 (平均合併 2分鐘) (30 天內合併 1 個 PR)

描述

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.

貢獻者指南