Creo que la mejor manera de que tengas una idea es con un pequeño ejemplo tienes una clase persona y la quieres guardar en la base el mapeo lo haces de la siguiente manera:
Código PHP:
@Entity
@Table(name="PERSONA")
public class Persona implements Serializable{
@Id
private Integer id;
@Column(name="NOMBRE_PERSONA")
private String name;
}
La anterior clase es un ejemplo basico de mapeo con anotaciones, el mapeo tambien se lo puede hacer con un xml. JPA tambien necesita un archivo de configuracion llamado persistence.xml ahi es donde le indicas: la conexion, la implementacion que usaras(hibernate, toplink, etc) y otras propiedades, un ejemplo seria el siguiente:
Código PHP:
<?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="reporto" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<property name="hibernate.connection.password" value="root"/>
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/reporto"/>
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
</properties>
</persistence-unit>
</persistence>
La linea importante es esta
Código PHP:
<provider>org.hibernate.ejb.HibernatePersistence</provider>
como puedes observar ahi se indica que es hibernate que usas como implementacion, digamos que deseas usar toplink en lugar de hibernate solo necesitas cambiar la linea a esta
Código PHP:
<provider>oracle.toplink.essentials.PersistenceProvider</provider>
y ya estaras usando toplink.