String.Format("{0:#,###,###.##}", MyNumber)
, Который даст Вам запятые в важных моментах.
Просто чтобы подтвердить, хотя вы, вероятно, сделали ...
Включили ли вы биты
<!-- tell spring to use annotation based congfigurations -->
<context:annotation-config />
<!-- tell spring where to find the beans -->
<context:component-scan base-package="zz.yy.abcd" />
в свой файл context.xml приложения?
Также я не уверен, что вы ' Могу ли я использовать тип транзакции jta с такой настройкой? Разве для этого не потребуется пул управляемых соединений с источником данных? Поэтому попробуйте вместо этого RESOURCE_LOCAL.
У меня есть тестовое приложение, настроенное с использованием JPA / Hibernate и Spring, и моя конфигурация отражает вашу, за исключением того, что я создаю источник данных и внедрил его в EntityManagerFactory, а затем переместил специфические свойства источника данных из persistenceUnit в источник данных. С этими двумя небольшими изменениями моя ЭМ вводится правильно.
Я запуталась. Вы вводите PU на уровень обслуживания, а не на уровень сохраняемости? Я этого не понимаю.
Я добавляю уровень сохраняемости в уровень сервиса. Уровень обслуживания содержит бизнес-логику и разграничивает границы транзакций. Он может включать в транзакцию более одного DAO.
Я тоже не понимаю волшебства в вашем методе save (). Как сохраняются данные?
В процессе производства я настраиваю spring следующим образом:
<jee:jndi-lookup id="entityManagerFactory" jndi-name="persistence/ThePUname" />
вместе со ссылкой в web.xml
Для модульного тестирования я делаю это:
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"
p:dataSource-ref="dataSource" p:persistence-xml-location="classpath*:META-INF/test-persistence.xml"
p:persistence-unit-name="RealPUName" p:jpaDialect-ref="jpaDialect"
p:jpaVendorAdapter-ref="jpaVendorAdapter" p:loadTimeWeaver-ref="weaver">
</bean>
Это может быть старый, но если у кого-то есть такая же проблема, попробуйте изменить имя модуля на просто имя в аннотации PersistenceContext:
From
@PersistenceContext(unitName="educationPU")
на
@PersistenceContext(name="educationPU")