Is this correct?
Session session = (Session) entityManager.getDelegate(); conn = session.connection();
A connection is a connection and as such, is not managed by Seam. If it works, it ain't broken.
What metadata do you need? Because if you need stuff like the columns of a table, their type or keys, all you have to do is apply reflection over your @Entity classes.