我正在春季项目中使用eclipselink。我配置的一个必要部分是SessionCustomizer,它配置我的id-generator(Snowflake by twitter)。
是否可以使用spring处理此自定义程序的创建,以便我可以使用依赖项注入并使用属性占位符?
我发现定制程序的唯一例子总是在持久化xml中配置类。
到目前为止,这是我的配置:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="platform.auth-service" />
<property name="jpaDialect" ref="jpaDialect" />
<property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
<property name="jpaPropertyMap" ref="jPAPropertyProviderMap" />
</bean>
<bean id="jpaVendorAdapter" class="org.springframework.orm.jpa.vendor.EclipseLinkJpaVendorAdapter">
<property name="generateDdl" value="${database.generateTables}" />
<property name="databasePlatform" value="${database.platform}" />
</bean>
<bean id="entityManager" class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
<bean id="jpaDialect" class="org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect" />
答案 0 :(得分:0)
虽然来自spring-aop的@Configurable
注释(AspectJ集成)本来是一个解决方案,我决定使用静态SequenceHolder
类来解决我的问题,其中我使用{{1}存储序列} bean。
最后,SequenceInstaller
在persistencecontextfactory中安装存储的序列。
我必须在工厂和安装程序之间配置依赖关系,因为spring可能在安装程序之前处理了工厂。