HibernateCallback与Java 8 lambda代码 如何使用Java8Lambda正确重构此示例?
我试图在以下示例中使用Java 8 lambda:HibernateCallback与Java 8 lambda代码 如何使用Java8Lambda正确重构此示例?,java,hibernate,lambda,java-8,refactoring,Java,Hibernate,Lambda,Java 8,Refactoring,我试图在以下示例中使用Java 8 lambda: hibernateTemplate.execute(新的HibernateCallback(){ @凌驾 公共HumanMainInfo doInHibernate(会话会话)引发HibernateeException{ CriteriaBuilder=session.getCriteriaBuilder(); CriteriaQuery=builder.createQuery(HumanMainInfo.class); Root sysUs
hibernateTemplate.execute(新的HibernateCallback(){
@凌驾
公共HumanMainInfo doInHibernate(会话会话)引发HibernateeException{
CriteriaBuilder=session.getCriteriaBuilder();
CriteriaQuery=builder.createQuery(HumanMainInfo.class);
Root sysUserRoot=query.from(sysusermainfo.class);
Join-humanJoin=sysUserRoot.Join(“human”,JoinType.INNER);
谓词idCondition=builder.equal(sysUserRoot.get(“id”),userId);
query.where(idCondition).选择(humanJoin);
返回session.createQuery(query.uniqueResult();
}
});
hibernateTemplate.execute(会话->{
CriteriaBuilder=session.getCriteriaBuilder();
CriteriaQuery=builder.createQuery(HumanMainInfo.class);
Root sysUserRoot=query.from(sysusermainfo.class);
Join-humanJoin=sysUserRoot.Join(“human”,JoinType.INNER);
谓词idCondition=builder.equal(sysUserRoot.get(“id”),userId);
query.where(idCondition).选择(humanJoin);
返回session.createQuery(query.uniqueResult();
});
hibernateTemplate.execute(new HibernateCallback<HumanMainInfo>() {
@Override
public HumanMainInfo doInHibernate(Session session) throws HibernateException {
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<HumanMainInfo> query = builder.createQuery(HumanMainInfo.class);
Root<SysUserMainInfo> sysUserRoot = query.from(SysUserMainInfo.class);
Join<SysUserMainInfo, HumanMainInfo> humanJoin = sysUserRoot.join("human", JoinType.INNER);
Predicate idCondition = builder.equal(sysUserRoot.get("id"), userId);
query.where(idCondition).select(humanJoin);
return session.createQuery(query).uniqueResult();
}
});
hibernateTemplate.execute(session -> {
CriteriaBuilder builder = session.getCriteriaBuilder();
CriteriaQuery<HumanMainInfo> query = builder.createQuery(HumanMainInfo.class);
Root<SysUserMainInfo> sysUserRoot = query.from(SysUserMainInfo.class);
Join<SysUserMainInfo, HumanMainInfo> humanJoin = sysUserRoot.join("human", JoinType.INNER);
Predicate idCondition = builder.equal(sysUserRoot.get("id"), userId);
query.where(idCondition).select(humanJoin);
return session.createQuery(query).uniqueResult();
});