mais detalhes… esse aqui é o que eu tô usando pra testar…
eu ia usar Assert, mas ainda estou me acostumando, daí acabou rodando num main mesmo…
[code]package tests;
import infrastructure.dao.ExtractDAO;
import java.util.List;
import domain.persistence.entities.Extract;
import domain.persistence.entities.User;
public class TestExtracts2 {
public static void main(String[] args) {
User user = User.get(2l);
List<Extract> e = ExtractDAO.execute().list(user);
if(e!=null)
System.out.println("deu certo");
else
System.out.println("deu merda");
}
}[/code]
E esse é o trecho referente ao ExtractDAO:
[code]package infrastructure.dao;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.EntityManager;
import javax.persistence.Query;
import domain.common.types.PaymentMethod;
import domain.common.types.Status;
import domain.persistence.entities.Extract;
import domain.persistence.entities.User;
import domain.persistence.repositories.ExtractRepository;
import domain.persistence.repositories.UserExtracts;
//TODO:
public class ExtractDAO implements ExtractRepository, UserExtracts {
private final String FROM_EXTRACT = "SELECT e FROM Extract INNER JOIN e.statements s INNER JOIN s.user u WHERE ";
private final String FIND_BY_USER = "u = :user";
…
@Override
public List<Extract> list(User user) {
args = new HashMap<>();
query = new StringBuilder(FROM_EXTRACT);
query.append(FIND_BY_USER);
args.put("user", user);
return list(query.toString(), args);
}
…
@SuppressWarnings("unchecked")
protected List<Extract> list(String query, Map<String, Object> args) {
List<Extract> extracts = null;
try {
EntityManager em = DAO.getEntityManager();
Query q = em.createQuery(query);
if(args != null) {
for(Map.Entry<String, Object> entry : args.entrySet()) {
q.setParameter(entry.getKey(), entry.getValue());
}
}
extracts = (List<Extract>)q.getResultList();
} catch(Exception ex) { }
return extracts;
}
…
}[/code]