例如,我有很多像这样的连接的SQL:
select * from TableA a left join TableB b on a.id=b.id left join TableC c on c.id=a.id where userid=123
现在我正在尝试使用java程序重新构造这样的代码(伪代码)。
List<TableA> a=sqlQuery("select * from tableA");
List<TableB> a=sqlQuery("select * from tableB");
var temp= a.Where(a.id==b.id&&a.userid==123);
之前我是一个C#编码器,所以我知道EF或Linq在所有sql完成之后都有延迟加载模式加载上下文,就像C#在IQueryable和ILIst之间的区别,我不知道Java是不是可以做同样的事情,所以任何人都可以帮助我吗?
答案 0 :(得分:1)
JDBC API不支持这种事情,如果你试图在JDBC之上自己实现它,我想你会遇到困难。
有一些第三方库在Java上下文中提供了Linq-to-SQL的各个方面。这篇JOOQ博客文章描述了这个问题,并提供了一些线索: