SPRING-SOURCE.RU | |
|
|
/META-INF/persistence.xml // именно этот файл ищется классом Persistance <?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="unit name"> <provider> full JPA provider class name </provider> <class> package.ClassName </class> <properties> provider properties </properties> </persistence-unit> </persistence>
В одном файле xml можно определить несколько unit. С каждым unit может работать свой провайдер, каждый unit будет обращаться к своей базе. Чаще всего определяют один unit. Unit нужно дать уникально имя, которое позже я буду использовать при создании фабрики (CreateEntityManagerFactory(имя)).
Потом нужно указать провайдера.
Далее, необязательно - список классов, которые будут использоваться в работе. Почему необязательно? Некоторые провайдеры, как hibernate, могут делать это автоматически. Далее, мы пишем свойства, относящиеся к конкретному провайдеру. Это подключение к базе данных (url, login, password итд. для конкретного провайдера). Эти свойства считываются провайдером и потом создается фабрика.
Все это была базовая конфигурация.
Provider name org.hibernate.ejb.HibernatePersistence Provider properties <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/> <property name="hibernate.connection.url" value="jdbc:hsqldb:mem:db"/> <property name="hibernate.connection.username" value="sa"/> <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> <property name="hibernate.hbm2ddl.auto" value="create"/>
Последний параметр create. Это значит, что когда hibernate полностью считает всю конфигурацию (все ваши классы и аннотации), он сам создаст таблицы и связи между ними, а также поля. Если поставить параметр never, то hibernate будет стараться текущую конфигурацию JPA наложить на существующую базу данных.
Copyright © 2024 |