我必须实现仅使用对象接口的DAO。现在我无法弄清楚如何使用em.find()
类的EntityManager
。
我的具体问题是,如果可以将类的实现直接导入DAO,就像在这个例子中一样:
import dao.IStreamingServerDAO;
import model.IStreamingServer;
import model.impl.StreamingServer;
import javax.persistence.EntityManager;
public class StreamingServerDAO implements IStreamingServerDAO {
protected EntityManager em;
public StreamingServerDAO(EntityManager em) {
this.em = em;
}
@Override
public IStreamingServer findById(Long id) {
return em.find(StreamingServer.class, id);
}
}
我觉得只是将model.impl.StreamingServer
类导入DAO就会损害一些隐私原则。
问题是我不知道我应该如何获得em.find()
方法所需的类。
请注意,我无法更改findById
方法的返回类型,因为它是由接口定义的。 (此实现现在正如预期的那样工作)。