É possível usar duas Implementações JPA ao mesmo tempo?

É o seguinte…
No projeto, estou usando o Toplink. Porém, em algumas partes desse projeto eu preciso fazer uma consulta no bd usando Kodo (para usar Filter Extensions).
Isso pode ser feito ?

Obrigado

É só você criar duas persistence units e chamá-las de acordo.

Existe algum motivo para não usar somente o Kodo ?

Infelizmente existe sim …
como eu poderia criar duas persistence units e chamá-las de acordo ?
você poderia me dar um exemplo ?

Obrigado.

Seque exemplo do persistence.xml com várias persistence units (no netbeans tem um editor “gráfico” pra isso)

<?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="MemoriaTestPU" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>br.com.prosoma.memoria.entidades.Bem</class> <class>br.com.prosoma.memoria.entidades.Dimensao</class> <class>br.com.prosoma.memoria.entidades.Material</class> <properties> <property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/memoria"/> <property name="hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/> <property name="hibernate.connection.password" value="memoria"/> <property name="hibernate.connection.username" value="memoria"/> <property name="hibernate.hbm2ddl.auto" value="update"/> </properties> </persistence-unit> <persistence-unit name="MemoriaTestPU2" transaction-type="RESOURCE_LOCAL"> <provider>oracle.toplink.essentials.PersistenceProvider</provider> <properties> <property name="toplink.jdbc.url" value="jdbc:postgresql://servidor.juventus:5432/juventus"/> <property name="toplink.jdbc.user" value="juventus"/> <property name="toplink.jdbc.driver" value="org.postgresql.Driver"/> <property name="toplink.jdbc.password" value=""/> <property name="toplink.ddl-generation" value="create-tables"/> </properties> </persistence-unit> </persistence>

opa…
vlw guigouz
mas me tira uma dúvida… as duas implementações JPA podem acessar o mesmo banco ?

por exemplo, eu to usando o toplink e quero usar o kodo também (pois estou precisando usar o FilterExtension do kodo) …
e ambos, o toplink e o kodo, vão acessar o mesmo banco…
isso é possível ?
você tem algum exemplo do kodo … está mto dificil de achar alguma coisa na net…
vlw

Cara, sinceramente eu acho a implementação do TopLink muito fraca pra usar em produção e no seu caso usaria só o Kodo (eu uso somente o Hibernate, pelo Criteria e por suporte a postgresql).
Não vejo problema nas duas implementações acessarem o mesmo banco, na verdade o ideal é usar o pool do container (uso o glassfish) pra conectar e fazer as implementações conectarem no pool. Quanto a exemplos do Kodo, nunca usei nem vi ninguém usar.

Abraço