Получение DataSource из Cayenne DataConext
В настоящее время я использую Cayenne в качестве ORM. Мне нужно получить DataSource для инициализации Velocity Engine в моем коде. Я могу вручную создать источник данных, но я не хочу этого делать и хочу использовать существующий источник данных из Cayenne.
1 ответ
Решение
В Cayenne 3.1 это довольно тривиально:
ServerRuntime runtime = .. // this exists in every app
DataSource ds = runtime.getDataSource("MyDataNode");
В более ранних версиях это только незначительно сложнее:
DataDomain dd = context.getParentDataDomain();
DataSource ds = dd.getDataNode("MyDataNode").getDataSource();
Последний подход тоже работает на 3.1.