[JAVA] JPA-Grundlagen 1

JPA-Übersicht

Was ist JPA?

JPA ist eine Abkürzung für "Java Persistence (JSR 338)" und ** Java EE Standard O / R Mapping und DAO-Technologie. Spezifikation ** (Ursprünglicher Name war "Java Persistence API" und die Abkürzung "JPA" wird immer noch häufig verwendet, daher wird in diesem Dokument auch der Name "JPA" verwendet).

Die im aktuellen Java EE 7 enthaltene Version ist "2.1".

JPA ist eine technische Spezifikation, die in "Enterprise Application Technologies" von Java EE enthalten ist. Im Gegensatz zu Servlet / JSP und EJB wird jedoch keine containergestützte Architektur verwendet, sodass sie auch in Java SE ** verwendet werden kann.

Typische Implementierung von JPA

Das Folgende sind typische Implementierungen von JPA.

"Eclipse Link" ist ein JPA RI, der ursprünglich von Oracle entwickelt und an eclipse.org gespendet wurde. Außerdem ist "Hibernate ORM" das ursprüngliche ORM-Framework der JPA-Spezifikation, und es ist üblich, eine dieser beiden Implementierungen zu verwenden.

"Eclipse Link 2.5" oder höher und "Hibernate ORM 4.3" oder neuere Versionen unterstützen JPA 2.1, aber die aktuelle Version "2.x" von "Apache Open JPA" unterstützt nur JPA 2.0 (JPA 2.1). Unterstützte Versionen befinden sich derzeit in der Entwicklung.

JPA-Komponenten

Lassen Sie uns zunächst einen kurzen Blick auf die Hauptelemente der JPA-Technologie werfen.

● Entity Repräsentiert "** Persistenzobjekt **". Insbesondere besteht eine Eins-zu-Eins-Entsprechung mit der Datenbanktabelle. Java-Klasse (Entity Class) und ihr "Entity Object". ● Entity Manager Bietet Lebenszyklusverwaltung und DAO-Funktionalität für Entitätsobjekte. ● Persistence Context Stellt einen "Persistenzkontext" dar. ● Persistence Unit Generieren Sie einen Persistenzkontext. ● Transaction Stellt eine "Transaktion" dar. ● JPQL(Java Persistence Query Language) Dies ist eine reine JPA-Anfragesprache. Es ist eine Sprache, die SQL sehr ähnlich ist, und bietet einen Mechanismus zum Schreiben typsicherer Abfragen durch Identifizieren des Entitätstyps.

JPA-Einstellungsdatei

JAP verwendet eine XML-Formatdatei mit dem Namen "** persistence.xml **" (siehe unten), um grundlegende Einstellungen wie Verbindungsinformationen mit der Datenbank zu beschreiben.

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 Es ist das Stammelement des Dokuments persistence.xml und beschreibt die JPA-Version, die Namespace-Referenz usw.

persistence-unit Es ist ein direktes untergeordnetes Element der Persistenz und stellt ein einzelnes Persistenzziel dar. Insbesondere ist dies die Einstellung der Eigenschaft, die sich auf die Verbindungsinformationen zu einer Datenbank bezieht. Diese Persistenz-Einheit erfordert eine Beschreibung des Attributs "Name", und dieser Name wird verwendet, um die "Persistenz-Einheit" eindeutig zu identifizieren.

provider Es ist ein untergeordnetes Element der Persistenz-Einheit und beschreibt den zu verwendenden JPA-Anbieter. Der JPA-Anbieter ist die "Implementierung von JPA" und im obigen Beispiel die Beschreibung bei Verwendung von EclipseLink.

class Beschreibt die Entitätsklasse, die ein untergeordnetes Element der Persistenz-Einheit ist und von dieser Einheit verwaltet wird.

properties Beschreibt Informationen zu Datenbankverbindungen. Insbesondere handelt es sich um eine JDBC-URI, einen Benutzernamen, ein Kennwort usw. Sie können auch implementierungsspezifische Konfigurationsinformationen schreiben.

Recommended Posts

JPA-Grundlagen 1
JPA-Grundlagen 2
Rails Grundlagen
Ruby-Grundlagen
Fragmentgrundlagen
Docker-Grundlagen
ViewPager-Grundlagen
Java-Grundlagen
Java-Grundlagen
JavaScript-Grundlagen
Java-Grundlagen
RecyclerView-Grundlagen
Schienen CSV Basic
Grundlagen des Rails-Routings
Grundlagen der Rails-Datenbank
Grundlagen des Rails Logger
Grundlagen der Java-Programmierung
Grundlagen von Ruby
JPA mit PostgreSQL
Java JAR-Grundlagen
Objektorientierte (Java) Grundlagen
vim (gitbush) Grundlagen
Grundlagen regulärer Ausdrücke
Grundlagen der Java-Parallelverarbeitung
Rspec Basics [Rails]
Grundlagen der Stream-API