Java 尝试从另一个项目编写相同代码时出现的几个问题
我的Java编码课的老师在他的网页上发布了一个他希望我们自己编写代码的例子。然而,当我试图在自己的实验室中重新创建相同的代码时,我遇到了几个错误。代码如下:Java 尝试从另一个项目编写相同代码时出现的几个问题,java,spring,hibernate,maven,Java,Spring,Hibernate,Maven,我的Java编码课的老师在他的网页上发布了一个他希望我们自己编写代码的例子。然而,当我试图在自己的实验室中重新创建相同的代码时,我遇到了几个错误。代码如下: public class StudentRepositoryImpl extends Repository<Student, Long> implements StudentRepositoryCustom { private static final Logger log = LoggerFactory.getLogger(S
public class StudentRepositoryImpl extends Repository<Student, Long> implements StudentRepositoryCustom {
private static final Logger log = LoggerFactory.getLogger(StudentRepositoryImpl.class);
public StudentRepositoryImpl()
{
super(Student.class);
}
@Override
@Transactional
public List<Student> findAllWithLabsSqlQuery()
{
log.trace("findAllWithLabsSqlQuery: method entered");
HibernateEntityManager hibernateEntityManager = getEntityManager().unwrap(HibernateEntityManager.class);
Session session = hibernateEntityManager.getSession();
Query query = session.createSQLQuery("select distinct {s.*}, {sd.*}, {d.*}" +
" from student s" +
" left join student_lab sd on sd.student_id = s.id" +
" left join lab d on d.id = sd.lab_id")
.addEntity("s", Student.class)
.addJoin("sd", "s.studentLabs")
.addJoin("d", "sd.lab")
.addEntity("s", Student.class)
.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
List<Student> students = query.list();
log.trace("findAllWithLabsSqlQuery: students={}", students);
return students;
}
@Override
@Transactional
public List<Student> findAllWithLabsJpql() {
log.trace("findAllWithLabsJpql: method entered");
javax.persistence.Query query = getEntityManager().createQuery("select distinct s from Student s" +
" left join fetch s.studentLabs sd" +
" left join fetch sd.lab d");
List<Student> students = query.getResultList();
log.trace("findAllWithLabsJpql: students={}", students);
return students;
}
@Override
@Transactional
public List<Student> findAllWithLabsJpaCriteria() {
log.trace("findAllWithLabsJpaCriteria: method entered");
CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Student> query = criteriaBuilder.createQuery(Student.class);
query.distinct(Boolean.TRUE);
Root<Student> from = query.from(Student.class);
Fetch<Student, StudentLab> studentLabFetch = from.fetch(Student_.studentLabs, JoinType.LEFT);
studentLabFetch.fetch(StudentLab_.discipline, JoinType.LEFT);
List<Student> students = getEntityManager().createQuery(query).getResultList();
log.trace("findAllWithLabsJpaCriteria: students={}", students);
return students;
}
如果您还复制了pom.xml,请尝试运行以下命令
mvn clean package
注意:必须安装mvn(maven)。您必须导入所需的库。我需要从哪个文件夹运行此命令?pom.xml文件所在的文件夹,或者整个项目的文件夹?似乎无法解决问题。同样的错误依然存在。
mvn clean package