Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试从另一个项目编写相同代码时出现的几个问题_Java_Spring_Hibernate_Maven - Fatal编程技术网

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

我的Java编码课的老师在他的网页上发布了一个他希望我们自己编写代码的例子。然而,当我试图在自己的实验室中重新创建相同的代码时,我遇到了几个错误。代码如下:

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