Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Внезапный баг / 11 сообщений из 11, страница 1 из 1
10.02.2015, 17:55
    #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
10.02.2015, 19:47
    #38876319
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внезапный баг
сравни текущий код с предыдущими версиями
...
Рейтинг: 0 / 0
11.02.2015, 10:15
    #38876624
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внезапный баг
вадясравни текущий код с предыдущими версиямиКакой код имеется в виду - текст xml-файла? Я делал откаты на версии недельной давности - не помогло.
...
Рейтинг: 0 / 0
11.02.2015, 10:24
    #38876638
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внезапный баг
Ув. Blazkowicz , Вы случайно не в курсе, где копать?
...
Рейтинг: 0 / 0
11.02.2015, 10:29
    #38876647
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внезапный баг
Ситуация очень схожа с вот этой , я, естественно, уже пробовал добавлять зависимости - не помогло.
...
Рейтинг: 0 / 0
11.02.2015, 10:40
    #38876667
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внезапный баг
какой-то косяк в меппинге, скорее всего
...
Рейтинг: 0 / 0
11.02.2015, 10:44
    #38876669
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внезапный баг
ivanra , о чем примерно речь, где это посмотреть? Делал также Invalidate Caches - безрезультатно, класс не определяется.
...
Рейтинг: 0 / 0
11.02.2015, 10:53
    #38876682
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внезапный баг
например, геттер/сеттер в классе не соответствует аннотации/xml (может, не тот регистр букв). Нужно смотреть исходный код класса и xml (если он есть)
...
Рейтинг: 0 / 0
11.02.2015, 11:03
    #38876697
ivanra
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внезапный баг
Полуламер,
имеется в виду не класс FMContainerEntityManagerFactoryBean, а классы сущностей и их меппинг - обычно фабрика сессий не создается именно из-за косяков меппинга
...
Рейтинг: 0 / 0
11.02.2015, 11:06
    #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
11.02.2015, 12:55
    #38876890
Полуламер
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Внезапный баг
Проблема решена - действительно, косой мэппинг в одном из классов сущностей вызывал эту ошибку.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Внезапный баг / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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