I'd try to keep the architecture clean and consistent and avoid db access from outside the
EJB container.
You can make a session bean that runs under bean managed transactions and just never start any transactions. I worked with a vendor framework that deployed the same session bean twice, once as CMT and once as BMT.