Гость
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate load entities / 25 сообщений из 43, страница 1 из 2
12.08.2020, 12:55
    #39988997
faustgreen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Разбираю hibernate, создал проект, в котором делаю простые примеры.

Есть конфигурационный файл persistence.xml:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
<!-- ~ Hibernate, Relational Persistence for Idiomatic Java ~ ~ License: 
	GNU Lesser General Public License (LGPL), version 2.1 or later. ~ See the 
	lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. -->

<persistence 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_2_0.xsd"
	version="2.0">


	
	<persistence-unit name="some.persistence.unit">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<properties>
			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
			<property name="javax.persistence.jdbc.url"	value="jdbc:mysql://localhost:3306/hibernate_jboss_part01?useLegacyDatetimeCode=false&amp;serverTimezone=Europe/Minsk" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="javax.persistence.jdbc.password" value="password" />
			 
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.hbm2ddl.auto" value="update"/>
		</properties>
	</persistence-unit>


		<persistence-unit name="another.persistence.unit">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<properties>
			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/hibernate_jboss_part01?useLegacyDatetimeCode=false&amp;serverTimezone=Europe/Minsk" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="javax.persistence.jdbc.password" value="password" />
			
			<property name="hibernate.show_sql" value="true" />
			<property name="hibernate.hbm2ddl.auto" value="update"/>
			
			<property name="hibernate.implicit_naming_strategy" value="component-path" />
		</properties>
	</persistence-unit>

</persistence>



Есть небольшой класс:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
	public class TestEmbeddable {
	public static void main(String[] args) {
		
		EntityManagerFactory entityManagerFactory = Persistence
				.createEntityManagerFactory("some.persistence.unit");
		
		Book book = new Book();
		Publisher publisher = new Publisher();
		Location location = new Location("Country", "City");
		publisher.setLocation(location);
		publisher.setName("PublisherName");
		book.setAuthor("BookAutor");
		book.setTitle("BookTitle");
		book.setPublisher(publisher);
		
		EntityManager entityManager = entityManagerFactory.createEntityManager();
		entityManager.getTransaction().begin();
		entityManager.persist(book);
		entityManager.getTransaction().commit();
		entityManager.close();
		entityManagerFactory.close();
	}
}



который запускается с использованием конфигурацией описанной в some.persistence.unit (Там используется ImplicitNamingStrategy со значением по умолчанию).

Также в проекте лежит entity - Student, не относящаяся к этому примеру, и которая используется в примере использующем ImplicitNamingStrategy со значением component-path. В том примере есть конфликт имен, который разруливается через указанную ImplicitNamingStrategy.

Но когда я пытаюсь запустить пример, описанный выше, то на строке
Код: java
1.
2.
EntityManagerFactory entityManagerFactory = Persistence
				.createEntityManagerFactory("some.persistence.unit");

вываливается Exception - в классе Student конфликт имен (так как тут используется ImplicitNamingStrategy по умолчанию), но в данном примере мне вообще эта entity (Student) не интересна.

Т.е. я так понимаю хибер при создании EntityManagerFactory сканит доступные пакеты и что там делает с ВСЕМИ найденными Entities. Можно ли ему сказать, что вот эта мне сейчас не нужна? Типа прописать где то "exclude entity Student"?
...
Рейтинг: 0 / 0
14.08.2020, 18:22
    #39989915
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
faustgreen
Можно ли ему сказать, что вот эта мне сейчас не нужна? Типа прописать где то "exclude entity Student"?

- можно, если прописать нужные классы: <exclude-unlisted-classes>true</exclude-unlisted-classes>
- замечание: вообще конфигурация с несколькими persistence-unit - не для новичков (ничего особо сложного, но учиться лучше на единственном persistence-unit)
...
Рейтинг: 0 / 0
14.08.2020, 18:26
    #39989917
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Zzz79
никто не будет тут xml портянки разбирать- это прошлый век

делай пример на современный лад

спринг бут- стартер дата-жпа
пометил нужные классы @Entity
создал дефолтные репы и радуйся жизни

- интересно стало, как Spring Boot поможет исключить не нужные сущности. Прямо как: у меня дворники на машине плохо стекло чистят - а ты купи КАСКО в Ренессанс страхование!
...
Рейтинг: 0 / 0
16.08.2020, 21:05
    #39990223
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Zzz79
Kachalov
пропущено...

- интересно стало, как Spring Boot поможет исключить не нужные сущности. Прямо как: у меня дворники на машине плохо стекло чистят - а ты купи КАСКО в Ренессанс страхование!

а как они спринг буту помешают?
ну есть сущность и ?

- Вопрос был про сущности и Hibernate, откуда вообще свалился тут SpringBoot? Или без SpringBoot не получается запустить приложение
...
Рейтинг: 0 / 0
17.08.2020, 00:15
    #39990229
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
faustgreen,

Дорогой друг. Когда у тебя вываливается Exception - ты не стесняйся а приводи его полный стектрейс.

Не надо пересказывать ошибку словами. Ок?
...
Рейтинг: 0 / 0
17.08.2020, 18:06
    #39990372
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Zzz79

ну так я автору написал - делай на буте и проблем не будет- зачем в качестве учебного проекта использовать конфигурастию,которая точно знаний не прибавит)

- ну так я тоже прочитал и у меня возник вопрос, как именно SpringBoot решает проблему автора?
...
Рейтинг: 0 / 0
17.08.2020, 22:52
    #39990420
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Zzz79
просто описать что он хочет в сущностях

- ну и еще раз, причем здесь SpringBoot?

Zzz79
если естть тесты можно добавить тест пофиль

- а без SpringBoot этого нельзя сделать?

Zzz79
ну как бы вот такое без секса с xml куитой

- для того чтобы называть что "куитой" надо понимать как это работает, и да - persistense.xml и совместно SpringBoot иногда используют (наверное потому что одно с другим никак не связано)

Zzz79
пс.олды люблят конфигурастить и хмл портянки ,мы не любим,мы хотим максммум знаний вьюзать в бизнес требования)

- ну Вы же явно не понимаете какое отношение SpringBoot имеет к Hibernate, о каких "знаниях" Вы говорите?


Zzz79
у меня две работы сейчас - ваше любимое легаси на портянках и современный бут проект
так вот в первом я неделю разрбираю как подружить все эти либы с моим кодом

- очевидно Вы не знаете эту тему, от этого и проблемы

Zzz79
в буте я просто пишу качественную логику

- учитывая вышесказанное, этот тезис вызывает сомнение

Zzz79
по итогу 1й проект всегда и постоянно падает - так как нужен специальный конфигураст ,который все это подружит ,или конфиругей,которй просто это полюбит- секс с бибилитеками- я даже не знаю ,как это назхвать - типо лайбарисек?или билиотекогей?

- раньше хвастались знанием, сейчас не знанием. Но за ними будущее(
...
Рейтинг: 0 / 0
17.08.2020, 23:09
    #39990423
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Kachalov,

мне даже по книге HIbernate in Action не удалось с 4 раза настроить persistence для stand-alone-app.
Исходники не соотвествовали реальности. Как-то по своему настроил. Используя авторский сайт.
Не автора книги а hibernate.org. Вообще это должен быть какой-то особый экзамен или сертификация.
Даже не на глубокие знания а на на создание просто работающего приложения.

Челедж еще тот.
...
Рейтинг: 0 / 0
17.08.2020, 23:59
    #39990428
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mayton
мне даже по книге HIbernate in Action не удалось с 4 раза настроить persistence для stand-alone-app.

- наверное потому что эта тема относится к спецификации JPA и именно там можно найти ее исчерпывающее описание и соответствующие примеры. Для ТС и Zzz79 очевидно все необходимое можно найти, например тут: A Beginner’s Guide to JPA’s persistence.xml
...
Рейтинг: 0 / 0
18.08.2020, 06:37
    #39990437
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mayton
Kachalov,

мне даже по книге HIbernate in Action не удалось с 4 раза настроить persistence для stand-alone-app.
Исходники не соотвествовали реальности. Как-то по своему настроил. Используя авторский сайт.
Не автора книги а hibernate.org. Вообще это должен быть какой-то особый экзамен или сертификация.
Даже не на глубокие знания а на на создание просто работающего приложения.

Челедж еще тот.


Согласен. Но Spring Boot Data Jpa позволяет забыть/забить на ручные настройки persitence.xml.
Плюс дает удобный слой абстракции для большого числа кейсов использования. :-)
...
Рейтинг: 0 / 0
18.08.2020, 09:30
    #39990462
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mad_nazgul
mayton
Kachalov,

мне даже по книге HIbernate in Action не удалось с 4 раза настроить persistence для stand-alone-app.
Исходники не соотвествовали реальности. Как-то по своему настроил. Используя авторский сайт.
Не автора книги а hibernate.org. Вообще это должен быть какой-то особый экзамен или сертификация.
Даже не на глубокие знания а на на создание просто работающего приложения.

Челедж еще тот.


Согласен. Но Spring Boot Data Jpa позволяет забыть/забить на ручные настройки persitence.xml.
Плюс дает удобный слой абстракции для большого числа кейсов использования. :-)

Хм.. звучит как в хорошей рекламе.
Но это до первой проблемы. И тогда для ее фиксации уже нужны будут совокупные знания обоих фреймворков в стеке.
...
Рейтинг: 0 / 0
18.08.2020, 10:06
    #39990473
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mad_nazgul
mayton
Kachalov,

мне даже по книге HIbernate in Action не удалось с 4 раза настроить persistence для stand-alone-app.
Исходники не соотвествовали реальности. Как-то по своему настроил. Используя авторский сайт.
Не автора книги а hibernate.org. Вообще это должен быть какой-то особый экзамен или сертификация.
Даже не на глубокие знания а на на создание просто работающего приложения.

Челедж еще тот.


Согласен. Но Spring Boot Data Jpa позволяет забыть/забить на ручные настройки persitence.xml.
Плюс дает удобный слой абстракции для большого числа кейсов использования. :-)

Это для Cloud.
А рынок облаков пол процента.
...
Рейтинг: 0 / 0
18.08.2020, 10:13
    #39990474
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mad_nazgul
Но Spring Boot Data Jpa позволяет забыть/забить на ручные настройки persitence.xml.

- эта тема мне реально выносит мозг( Что такое "Spring Boot Data Jpa"? Знаю SpringBoot, знаю Spring Data JPA, а что такое "Spring Boot Data Jpa" не знаю( А уж если говорите что persitence.xml плох, тогда давайте говорите и что application.properties хорош. Давайте, убедите меня что properties файлы это лучше чем XML со схемой.
...
Рейтинг: 0 / 0
19.08.2020, 07:20
    #39990670
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mayton

Хм.. звучит как в хорошей рекламе.
Но это до первой проблемы. И тогда для ее фиксации уже нужны будут совокупные знания обоих фреймворков в стеке.


А для всего остального есть JdbcTemplate!
<:o)
...
Рейтинг: 0 / 0
19.08.2020, 07:21
    #39990671
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
PetroNotC Sharp
mad_nazgul
пропущено...


Согласен. Но Spring Boot Data Jpa позволяет забыть/забить на ручные настройки persitence.xml.
Плюс дает удобный слой абстракции для большого числа кейсов использования. :-)

Это для Cloud.
А рынок облаков пол процента.


Какие облака. Для не облачных приложений Spring Data Jpa вполне подходит.
...
Рейтинг: 0 / 0
19.08.2020, 07:33
    #39990672
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Kachalov
mad_nazgul
Но Spring Boot Data Jpa позволяет забыть/забить на ручные настройки persitence.xml.

- эта тема мне реально выносит мозг( Что такое "Spring Boot Data Jpa"? Знаю SpringBoot, знаю Spring Data JPA, а что такое "Spring Boot Data Jpa" не знаю


Spring Boot Data Jpa ещё дает автоконфигурацию для настройки с БД.
Если для просто Spring Data Jpa, нужно ещё настроить бины для работы с БД, то в Spring Boot Data Jpa бины автоконфигурируются.
Даже, если не прописывать настройки БД в application.properties.
А добавить в ресурсы create.sql, data.sql и добавить зависимость H2 (хотя может быть это опционально зависимость от H2)
То приложение загрузиться с уже настроенным контекстом для работы с БД, без единой строчки инфраструктурного кода.

Kachalov

( А уж если говорите что persitence.xml плох, тогда давайте говорите и что application.properties хорош. Давайте, убедите меня что properties файлы это лучше чем XML со схемой.


Что лучше "Железная дорога или карьерный самосвал"? :-)

Если говорить о сравнениях, то properties стоит сравнивать с yaml.
А xml стоит сравнивать с классами конфигурации и аннотациями.

Я противник xml - для меня это не удобно.
Раньше был сторонником аннотаций, но сейчас все больше склоняюсь к классам конфигурации.
...
Рейтинг: 0 / 0
19.08.2020, 08:06
    #39990675
PetroNotC Sharp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mad_nazgul
PetroNotC Sharp
пропущено...

Это для Cloud.
А рынок облаков пол процента.


Какие облака. Для не облачных приложений Spring Data Jpa вполне подходит.
вполне подходит. Пол процента проектов. Согласен.
...
Рейтинг: 0 / 0
19.08.2020, 08:40
    #39990677
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
PetroNotC Sharp
mad_nazgul
пропущено...


Какие облака. Для не облачных приложений Spring Data Jpa вполне подходит.
вполне подходит. Пол процента проектов. Согласен.


Значит все мои проекты входят в полпроцента :-)
...
Рейтинг: 0 / 0
19.08.2020, 12:26
    #39990730
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mad_nazgul

Spring Boot Data Jpa ещё дает автоконфигурацию для настройки с БД.
...
Я противник xml - для меня это не удобно

- интересно посмотреть как придется подергаться когда столкнетесь с приложением которому надо два persistence unit-а, например в ситуации когда приложение использует одновременно две разные БД

- а можете ссылку привести на фреймворк который называется "Spring Boot Data Jpa", а то я чего то не вдупляю (выше писал что знаю Spring Boot и Spring Data JPA , а вот название "Spring Boot Data Jpa" вводит меня в ступор). Вдруг правда какая то чудесная новая технология которая все делает сама и разбираться ни в чем не надо!
...
Рейтинг: 0 / 0
19.08.2020, 12:33
    #39990735
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Давайте в качестве пятничной темы - Standalone Hibernate App. С нуля. Без спрингов.
...
Рейтинг: 0 / 0
19.08.2020, 13:28
    #39990751
Kachalov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mayton
Давайте в качестве пятничной темы - Standalone Hibernate App. С нуля. Без спрингов.

- да ладно, все это было интересно лет 10 назад, статей и примеров на эту тему полно. Например: JPA Tutorial: Setting Up JPA in a Java SE Environment (тут на Hibernate) или вот Using the Java Persistence API in Desktop Applications (статья 2007го года! тут еще на TopLink)
...
Рейтинг: 0 / 0
19.08.2020, 13:41
    #39990760
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Примерно половина этих туториалов стареют по причине эволюции софта.
И есть конешно у меня свои пожелания по ним. В основном тема их топика -
"зачем просто, когда можно сложно".
...
Рейтинг: 0 / 0
19.08.2020, 15:32
    #39990838
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Kachalov

- интересно посмотреть как придется подергаться когда столкнетесь с приложением которому надо два persistence unit-а, например в ситуации когда приложение использует одновременно две разные БД


А в чем проблема?!
Нужно просто создать два набора бинов для БД.
Все спокойно делается через классы конфигурации.
Постоянно так делаю.
Можно даже использовать разные СУРБД.
Помниться перегонял данные из MS SQL в Oracle.

Kachalov

- а можете ссылку привести на фреймворк который называется "Spring Boot Data Jpa", а то я чего то не вдупляю (выше писал что знаю Spring Boot и Spring Data JPA , а вот название "Spring Boot Data Jpa" вводит меня в ступор). Вдруг правда какая то чудесная новая технология которая все делает сама и разбираться ни в чем не надо!


Это в терминологии Spring boot стартер, а не фреймворк см
...
Рейтинг: 0 / 0
19.08.2020, 15:35
    #39990840
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
Да. Я-бы обсудил кластерную конфигурацию Hibernate. Когда у нас есть 1 база и 10
аппликейшенов и 10 хибернейт контекстов.

Дружище Назгул. Можете опубликовать пример кластерного конфига?
...
Рейтинг: 0 / 0
19.08.2020, 15:40
    #39990842
mad_nazgul
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Hibernate load entities
mayton
Давайте в качестве пятничной темы - Standalone Hibernate App. С нуля. Без спрингов.


Да ну нафиг. Я лучше на голом JDBC буду писать, чем использовать это "Чудище обло, озорно, огромно, стозевно и лаяй" без Spring Data Jpa. :-)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Hibernate load entities / 25 сообщений из 43, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]