[JAVA] Principes de base de JPA 1

Présentation de JPA

Qu'est-ce que JPA?

JPA est l'abréviation de «Java Persistence (JSR 338)» et ** Java EE standard O / R Mapping and DAO technology. Spécification ** (le nom d'origine était "Java Persistence API" et son abréviation "JPA" est encore couramment utilisée, donc ce document utilise également le nom "JPA").

La version incluse dans l'actuel Java EE 7 est "2.1"

JPA est une spécification technique incluse dans "Enterprise Application Technologies" de Java EE, mais contrairement à Servlet / JSP et EJB, il n'adopte pas une architecture basée sur des conteneurs, il peut donc également être utilisé ** dans Java SE **.

Implémentation typique de JPA

Voici des implémentations typiques de JPA.

"Eclipse Link" est un JPA RI développé à l'origine par Oracle et donné à eclipse.org. De plus, "Hibernate ORM" est le Framework ORM original de la spécification JPA, et il est courant d'utiliser l'une ou l'autre de ces deux implémentations.

"Eclipse Link 2.5" et versions ultérieures et "Hibernate ORM 4.3" et versions ultérieures prennent en charge JPA 2.1, mais la version actuelle "2.x" de "Apache Open JPA" ne prend en charge que JPA 2.0 (JPA 2.1). Les versions prises en charge sont actuellement en cours de développement).

Composants JPA

Tout d'abord, jetons un coup d'œil aux principaux éléments qui composent la technologie de JPA.

● Entity Représente «** Objet de persistance **». Plus précisément, il existe une correspondance un à un avec la table de base de données. Classe Java (Entity Class) et son "Entity Object". ● Entity Manager Fournit la gestion du cycle de vie et la fonctionnalité DAO pour les objets Entity. ● Persistence Context Représente un «contexte de persistance». ● Persistence Unit Générez un contexte de persistance. ● Transaction Représente une «transaction». ● JPQL(Java Persistence Query Language) Il s'agit d'un langage d'interrogation uniquement JPA. Il s'agit d'un langage très similaire à SQL et fournit un mécanisme pour écrire des requêtes de type sécurisé en identifiant le type d'entité.

Fichier de paramètres JPA

JAP utilise un fichier au format XML appelé "** persistence.xml **" comme indiqué ci-dessous pour décrire les paramètres de base tels que les informations de connexion à la base de données.

persistence.xml


<?xml version="1.0" encoding="UTF-8"?>

<persistence version="2.1"
	xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">

	<persistence-unit name="JPAExample">
	
		<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
		
		<class>entity.Author</class>
		
		<properties>
			<property name="javax.persistence.jdbc.url"	value="jdbc:mysql://localhost:3306/test?useSSL=false&amp;serverTimezone=Asia/Tokyo" />
			<property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="javax.persistence.jdbc.password" value="mysql" />
		</properties>
		
	</persistence-unit>

</persistence>

persistence Il s'agit de l'élément racine du document persistence.xml et décrit la version JPA, la référence de l'espace de noms, etc.

persistence-unit Il s'agit d'un élément enfant direct de persistance et représente une seule cible de persistance. Plus précisément, il s'agit du paramètre de la propriété liée aux informations de connexion à une base de données. Cette unité de persistance nécessite une description de l'attribut "nom", et ce nom est utilisé pour identifier de manière unique "l'unité de persistance".

provider Il s'agit d'un élément enfant de persistence-unit et décrit le fournisseur JPA à utiliser. Le fournisseur JPA est "l'implémentation de JPA", et dans l'exemple ci-dessus, c'est la description lors de l'utilisation d'EclipseLink.

class Décrit la classe Entity qui est un élément enfant de persistence-unit et est gérée par cette unité.

properties Décrit les informations relatives aux connexions à la base de données. Plus précisément, il s'agit d'un URI JDBC, d'un nom d'utilisateur, d'un mot de passe, etc. Vous pouvez également écrire des informations de configuration spécifiques à l'implémentation.

Recommended Posts

Principes de base de JPA 1
Principes de base de JPA 2
Notions de base sur les rails
Bases de Ruby
Notions de base sur les fragments
Principes de base de Docker
Principes de base de ViewPager
Les bases de Java
Les bases de Java
Bases de JavaScript
Les bases de Java
Principes de base de RecyclerView
Rails CSV Basic
Principes de base du routage des rails
Principes de base de la base de données Rails
Principes de base de l'enregistreur de rails
bases de la programmation Java
Bases de Ruby
JPA avec PostgreSQL
Principes de base de Java JAR
Notions de base orientées objet (Java)
bases de vim (gitbush)
Bases des expressions régulières
Principes de base du traitement parallèle Java
Principes de base de Rspec [Rails]
Principes de base de l'API Stream