Mudar anotações do pojo em tempo de execução com servidor de aplicação e JavaSE

Pessoal tenho que alterar as anotações no meu pojo em tempo de execução sem servidor de aplicação funciona
fico assim.

[code]Object h = new net.vidageek.mirror.dsl.Mirror().on(anotacao).get().field(“h”);
LinkedHashMap memberValues = (LinkedHashMap)new net.vidageek.mirror.dsl.Mirror().on(h).get().field(“memberValues”);
memberValues.put(“name”, “nome da tabela”);
memberValues.put(“catalog”, “banco de dados”);
System.out.println("Depois @Table(name): " +Usuario.class.getAnnotation(Table.class).name());
System.out.println("Depois @Table(catalog): "+Usuario.class.getAnnotation(Table.class).catalog());

        EntityManagerFactory emf = Persistence.createEntityManagerFactory("SelectTestePU");
        EntityManager em = emf.createEntityManager();
        em.getTransaction().begin();[/code]

Mais eu gostaria que funcionasse com o servidor de aplicação usando EJB com JPA e JTA mais não funciona com minha anotação de @PersistenceContext(unitName = “PU”), ou seja, com servidor de aplicação tem :?: ou não tem jeito :?:

muito doido isso :slight_smile:

vc poderia simplesmente alterar as propriedades via AnnotationConfiguration . lá mesmo onde vc pega o session factory.

bobmoe um exemplo

bom isso é jpa, tom mais acostumado com hibernate. mas a idéia é a mesma.
vc vai definir no Persistence.xml dois persistence-unit, ou seja, uma configuração pra cada banco. E ai pega um entity manager específico pra cada um.

Não gostaria de criar outra unidade de persistencia gostaria de ficar so com uma e com ela ir so alterando as anotações do pojo, como nome da tabela e o nome do banco de dados em tempo de execução … so que com ejb isso não da certo pq a JTA não deixa e não achei ainda o modo de alterar antes de ela criar o contexto de persistencia.

Se pintar alguma ideia a mais ??? obrigado.