powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Внезапный баг
11 сообщений из 11, страница 1 из 1
Внезапный баг
    #38876260
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тестировал проект в IntelliJ 11, все как обычно, без сбоев, но при очередном дебаге hibernate вдруг выбросил фортель, ума не приложу, чего ему надо. В xml-файле, где oписаны beans, перестал определяться один класс, хотя в проекте он имеется. Кусок этого xml:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	   xmlns:tx="http://www.springframework.org/schema/tx" 
	   xmlns:task="http://www.springframework.org/schema/task"
	   
	   xsi:schemaLocation="http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
	   http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
	   http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd"
	   default-autowire="byName">

<!--
 http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd"
-->

	<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>
	
	<bean id="entityManagerFactory"
        class="dpf.finance.client.context.jpa.emf.FMContainerEntityManagerFactoryBean">
		<property name="persistenceUnitName" value="finance-unit-client" />
		<property name="persistenceXmlLocation" value="classpath:META-INF/persistence_spring.xml"/>
	</bean>



Так выглядит ошибка:

Код: java
1.
2.
15:51:44,595  INFO ThreadPoolTaskExecutor:150 - Shutting down ExecutorService 'taskExecutor'
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [modelContext_client.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: finance-unit-client] Unable to build Hibernate SessionFactory



Совершенно непонятно, что и где слетело, не определяется класс FMContainerEntityManagerFactoryBean. У самого исправить ситуацию не получилось, есть какие-нибудь предложения?
...
Рейтинг: 0 / 0
Внезапный баг
    #38876319
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сравни текущий код с предыдущими версиями
...
Рейтинг: 0 / 0
Внезапный баг
    #38876624
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадясравни текущий код с предыдущими версиямиКакой код имеется в виду - текст xml-файла? Я делал откаты на версии недельной давности - не помогло.
...
Рейтинг: 0 / 0
Внезапный баг
    #38876638
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ув. Blazkowicz , Вы случайно не в курсе, где копать?
...
Рейтинг: 0 / 0
Внезапный баг
    #38876647
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ситуация очень схожа с вот этой , я, естественно, уже пробовал добавлять зависимости - не помогло.
...
Рейтинг: 0 / 0
Внезапный баг
    #38876667
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
какой-то косяк в меппинге, скорее всего
...
Рейтинг: 0 / 0
Внезапный баг
    #38876669
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivanra , о чем примерно речь, где это посмотреть? Делал также Invalidate Caches - безрезультатно, класс не определяется.
...
Рейтинг: 0 / 0
Внезапный баг
    #38876682
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
например, геттер/сеттер в классе не соответствует аннотации/xml (может, не тот регистр букв). Нужно смотреть исходный код класса и xml (если он есть)
...
Рейтинг: 0 / 0
Внезапный баг
    #38876697
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Полуламер,
имеется в виду не класс FMContainerEntityManagerFactoryBean, а классы сущностей и их меппинг - обычно фабрика сессий не создается именно из-за косяков меппинга
...
Рейтинг: 0 / 0
Внезапный баг
    #38876702
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В классе нет ни сеттера, ни гетера, вот как он выглядит:

Код: 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.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
package dpf.finance.client.context.jpa.emf;

import javax.persistence.EntityManagerFactory;
import javax.persistence.PersistenceException;
import javax.persistence.spi.PersistenceUnitInfo;
import javax.sql.DataSource;

import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitManager;
import org.springframework.orm.jpa.persistenceunit.PersistenceUnitPostProcessor;

import dpf.finance.client.context.ClientContext;

public class FMContainerEntityManagerFactoryBean extends LocalContainerEntityManagerFactoryBean {
	
	@Override
	public void setPersistenceUnitManager(PersistenceUnitManager persistenceUnitManager) {
		// TODO Auto-generated method stub
		super.setPersistenceUnitManager(persistenceUnitManager);
	}

	@Override
	public void setPersistenceXmlLocation(String persistenceXmlLocation) {
		// TODO Auto-generated method stub
		super.setPersistenceXmlLocation(persistenceXmlLocation);
	}

	@Override
	public void setDataSource(DataSource dataSource) {
		// TODO Auto-generated method stub
		super.setDataSource(dataSource);
	}

	@Override
	public void setPersistenceUnitPostProcessors(PersistenceUnitPostProcessor[] postProcessors) {
		// TODO Auto-generated method stub
		super.setPersistenceUnitPostProcessors(postProcessors);
	}

	@Override
	protected EntityManagerFactory createNativeEntityManagerFactory() throws PersistenceException {
		// TODO Auto-generated method stub
		return super.createNativeEntityManagerFactory();
	}

	@Override
	protected PersistenceUnitInfo determinePersistenceUnitInfo(PersistenceUnitManager persistenceUnitManager) {
		if (getPersistenceUnitName() != null) {
			return persistenceUnitManager.obtainPersistenceUnitInfo(getPersistenceUnitName());
		}
		else {
			return persistenceUnitManager.obtainDefaultPersistenceUnitInfo();
		}
		
	}

	@Override
	public PersistenceUnitInfo getPersistenceUnitInfo() {
		// TODO Auto-generated method stub
		return super.getPersistenceUnitInfo();
	}

	@Override
	public String getPersistenceUnitName() {
		ClientContext clientContext = ClientContext.getInst();
		if(null != clientContext)
		{
			String persistenceUnitName =  clientContext.getPersistenceUnitName();
			if(null != persistenceUnitName)
			{
				return persistenceUnitName; 
			}
		}
		return super.getPersistenceUnitName();
	}

	@Override
	public DataSource getDataSource() {
		// TODO Auto-generated method stub
		return super.getDataSource();
	}

	/**
	 * 
	 */
	public FMContainerEntityManagerFactoryBean() {
		
	}

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
...
Рейтинг: 0 / 0
Внезапный баг
    #38876890
Полуламер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решена - действительно, косой мэппинг в одном из классов сущностей вызывал эту ошибку.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Внезапный баг
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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