JAVA:如何用join语句实现延迟加载sql?

时间:2016-10-26 04:52:09

标签: java sql-server linq

例如,我有很多像这样的连接的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是不是可以做同样的事情,所以任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

JDBC API不支持这种事情,如果你试图在JDBC之上自己实现它,我想你会遇到困难。

有一些第三方库在Java上下文中提供了Linq-to-SQL的各个方面。这篇JOOQ博客文章描述了这个问题,并提供了一些线索: