Dúvida em JPA

Olá, tenho uma dúvida referente a JPA, e gostaria se possível que alguém pudesse sanar:
assim como no hibernate é possível mapear objetos para serem persistidos em uma base de dados relacional?
Como posso fazer este mapeamento?

Um abraço, muito obrigado. :wink:

Po cara… vc vai ter que dar uma googleada…

Mas dá sim… claro… alias. se não me engano, é extremamente parecido a maneira de fazer isso com o JPA em relação ao Hibernate.

JPA não é um framework como o Hibernate… é uma API, uma especificação da Sun, um padrão… e frameworks como Hibernate, iBatis e Top Link a seguem para não estarem fora do padrão.

você pode usar Hibernate sem JPa… porém estará fora do padrão, já que é melhor usar anotações JPA independentemente do framework O/R do que usar os proprios mapeamentos do framework.

Fiz a alteração que você sugeriu.
Mas agora esta dando erro de compilação.
Se puder dar uma ajuda agradeço.

//Linha alterada
		Query q = em.createQuery("SELECT c FROM KpiIndicadorPU c where c.valores.indIntId = 1");


//ERRO
06/01/2009 21:03:45 com.inssoft.kpi.server.data.JpaTeste main
SEVERE: null
java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager
        at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:194)
        at com.inssoft.kpi.server.data.JpaTeste.XMLNode(JpaTeste.java:62)
        at com.inssoft.kpi.server.data.JpaTeste.main(JpaTeste.java:168)
Caused by: Exception [TOPLINK-8036] (Oracle TopLink Essentials - 2.0 (Build b41-beta2 (03/30/2007))): oracle.toplink.essentials.exceptions.EJBQLException
Exception Description: Error compiling the query [SELECT c FROM KpiIndicadorPU c where c.valores.indIntId = 1], line 1, column 40: invalid navigation expression [c.valores.indIntId], cannot navigate collection valued association field [valores].
        at oracle.toplink.essentials.exceptions.EJBQLException.invalidCollectionNavigation(EJBQLException.java:426)
        at oracle.toplink.essentials.internal.parsing.DotNode.checkNavigation(DotNode.java:137)

[quote=ale-asilva]Fiz a alteração que você sugeriu.
Mas agora esta dando erro de compilação.
Se puder dar uma ajuda agradeço.

[code]
//Linha alterada
Query q = em.createQuery(“SELECT c FROM KpiIndicadorPU c where c.valores.indIntId = 1”);

//ERRO
06/01/2009 21:03:45 com.inssoft.kpi.server.data.JpaTeste main
SEVERE: null
java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager
at oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerImpl.createQuery(EntityManagerImpl.java:194)
at com.inssoft.kpi.server.data.JpaTeste.XMLNode(JpaTeste.java:62)
at com.inssoft.kpi.server.data.JpaTeste.main(JpaTeste.java:168)
Caused by: Exception [TOPLINK-8036] (Oracle TopLink Essentials - 2.0 (Build b41-beta2 (03/30/2007))): oracle.toplink.essentials.exceptions.EJBQLException
Exception Description: Error compiling the query [SELECT c FROM KpiIndicadorPU c where c.valores.indIntId = 1], line 1, column 40: invalid navigation expression [c.valores.indIntId], cannot navigate collection valued association field [valores].
at oracle.toplink.essentials.exceptions.EJBQLException.invalidCollectionNavigation(EJBQLException.java:426)
at oracle.toplink.essentials.internal.parsing.DotNode.checkNavigation(DotNode.java:137)

[/code][/quote]

Cara poe aqui tuas classes de mapeamento, dentro das tag code