我正在研究Spring Data JPA.考虑下面的示例,我将默认使用所有crud和finder功能,如果我想自定义查找器,那么也可以在界面本身轻松完成.
@Transactional(readOnly = true)
public interface AccountRepository extends JpaRepository<Account, Long> {
@Query("<JPQ statement here>")
List<Account> findByCustomer(Customer customer);
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何为上述AccountRepository添加一个完整的自定义方法及其实现?由于它的接口我无法在那里实现该方法.
关注我昨天发布的一个问题:如何从自定义Hibernate查询中填充POJO类?
有人能给我看一个如何在Hibernate中编写以下SQL的例子,并正确得到结果吗?
SQL:
select firstName, lastName
from Employee
Run Code Online (Sandbox Code Playgroud)
如果可能在Hibernate中,我想做的是将结果放在他们自己的基类中:
class Results {
private firstName;
private lastName;
// getters and setters
}
Run Code Online (Sandbox Code Playgroud)
我相信它在JPA(使用EntityManager)中是可能的,但我还没有弄清楚如何在Hibernate中使用它(使用SessionFactory和Session).
我正在努力学习更好的Hibernate,甚至这个"简单"的查询也让人感到困惑,知道Hibernate返回结果的形式,以及如何将结果映射到我自己的(基础)类.所以在DAO例程结束时,我会这样做:
List<Results> list = query.list();
Run Code Online (Sandbox Code Playgroud)
返回List的Results(我的基类).