Spring JPA и persistence.xml

String.Format("{0:#,###,###.##}", MyNumber)

, Который даст Вам запятые в важных моментах.

23
задан dispake 30 January 2014 в 20:58
поделиться

4 ответа

Просто чтобы подтвердить, хотя вы, вероятно, сделали ...

Включили ли вы биты

<!--  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.

13
ответ дан 29 November 2019 в 03:03
поделиться

У меня есть тестовое приложение, настроенное с использованием JPA / Hibernate и Spring, и моя конфигурация отражает вашу, за исключением того, что я создаю источник данных и внедрил его в EntityManagerFactory, а затем переместил специфические свойства источника данных из persistenceUnit в источник данных. С этими двумя небольшими изменениями моя ЭМ вводится правильно.

0
ответ дан 29 November 2019 в 03:03
поделиться

Я запуталась. Вы вводите 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>
4
ответ дан 29 November 2019 в 03:03
поделиться

Это может быть старый, но если у кого-то есть такая же проблема, попробуйте изменить имя модуля на просто имя в аннотации PersistenceContext:

From

@PersistenceContext(unitName="educationPU")

на

@PersistenceContext(name="educationPU")
0
ответ дан 29 November 2019 в 03:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: