我需要在dropwizard中调用资源外的DAO方法。 看手册我不清楚如何使用它。手册说
SessionDao dao = new SessionDao(hibernateBundle.getSessionFactory());
ExampleAuthenticator exampleAuthenticator = new
UnitOfWorkAwareProxyFactory(hibernateBundle)
.create(ExampleAuthenticator.class, SessionDao.class, dao);
任何人都可以告诉我使用调用DAO的exampleAuthenticator
方法。
谢谢,Kedar
答案 0 :(得分:0)
每个Dropwizard模块都有一个测试套件。以下是您要寻找的答案:https://github.com/dropwizard/dropwizard/blob/release/1.1.x/dropwizard-hibernate/src/test/java/io/dropwizard/hibernate/UnitOfWorkAwareProxyFactoryTest.java#L121-L151
逻辑是:
DAO
对象实例包含对Hibernate SessionFactory的引用; sessionFactory.getCurrentSession()
。示例代码正在执行本机查询,如果从DB返回至少一个结果行,则返回true; OAuthAuthenticator
实例包含对DAO
实例的引用,并调用DAO
的相应方法。答案 1 :(得分:-1)
工作解决方案
function is_on(a, b, c) {
return Math.abs(distance(a,c) + distance(c,b) - distance(a,b))<0.000001;
}
我们现在可以使用/** initializing proxy dao for authorization */
AuthenticatorDAOProxy authenticatorDAOProxy = new UnitOfWorkAwareProxyFactory(hibernateBundle)
.create(AuthenticatorDAOProxy.class, DeviceDAO.class, deviceDAO);
以外的球衣资源
有一点需要注意。authenticatorDAOProxy
应该有一个构造函数接受AuthenticatorDAOProxy
现在您的proxyDao看起来像
DeviceDAO