Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

Java Spring with Hibernate Data-Driven Application Design Add a DAO

Add a DAO objective

Having trouble with the following objective, the test comes back as failed:

In the ContactDao interface, add a findAll method that returns a List of Contact objects. Then, in ContactDaoImpl.java implement the interface and annotate the class so that's it's picked up with component scanning by Spring. The implemented findAll method can return null for now.

See my code attached:

com/teamtreehouse/contactmgr/dao/ContactDao.java
package com.teamtreehouse.contactmgr.dao;

import com.teamtreehouse.contactmgr.model.Contact;

import java.util.List;

public interface ContactDao {
  List<Contact> findAll();

}
com/teamtreehouse/contactmgr/dao/ContactDaoImpl.java
package com.teamtreehouse.contactmgr.dao;

import com.teamtreehouse.contactmgr.model.Contact;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

public class ContactDaoImpl implements ContactDao {
  @Autowired
  private SessionFactory sessionFactory;

  @Override
  public List<Contact> findAll() {
    Session session = sessionFactory.openSession();
    List<Contact> contacts = session.createCriteria(Contact.class).list();
    return null;
  }

}

1 Answer

Mario Hiller
Mario Hiller
12,058 Points

@Repository is missing. If its missing Spring boot can't autowire correctly