下面列出了怎么用org.springframework.orm.jpa.JpaDialect的API类实例代码及写法,或者点击链接到github查看源代码。
@Override
@Nullable
public JpaDialect getJpaDialect() {
return null;
}
@Override
@Nullable
public JpaDialect getJpaDialect() {
return null;
}
@Override
public JpaDialect getJpaDialect() {
return null;
}
@Override
public JpaDialect getJpaDialect() {
return null;
}
/**
* Initialize JPA objects (Datasource, Persistence Unit Manager, Entity Manager Factory, Transaction Manager) for each pool.
*/
public void process( )
{
ReferenceList list = new ReferenceList( );
AppConnectionService.getPoolList( list );
Map<String, EntityManagerFactory> mapFactories = new HashMap<>( );
List<PlatformTransactionManager> listTransactionManagers = new ArrayList<>( );
_log.info( "JPA Startup Service : Initializing JPA objects ..." );
String strDialectProperty = AppPropertiesService.getProperty( JPA_DIALECT_PROPERTY );
for ( ReferenceItem poolItem : list )
{
String strPoolname = poolItem.getCode( );
DataSource ds = AppConnectionService.getPoolManager( ).getDataSource( strPoolname );
_log.info( "JPA Startup Service : DataSource retrieved for pool : " + strPoolname );
_log.debug( "> DS : " + ds.toString( ) );
DefaultPersistenceUnitManager pum = new DefaultPersistenceUnitManager( );
pum.setDefaultDataSource( ds );
PersistenceUnitPostProcessor [ ] postProcessors = {
new JPAPersistenceUnitPostProcessor( )
};
pum.setPersistenceUnitPostProcessors( postProcessors );
pum.afterPropertiesSet( );
_log.info( "JPA Startup Service : Persistence Unit Manager for pool : " + strPoolname );
_log.debug( "> PUM : " + pum.toString( ) );
LocalContainerEntityManagerFactoryBean lcemfb = new LocalContainerEntityManagerFactoryBean( );
lcemfb.setDataSource( ds );
lcemfb.setPersistenceUnitManager( pum );
lcemfb.setPersistenceUnitName( "jpaLuteceUnit" );
JpaDialect jpaDialect = SpringContextService.getBean( "jpaDialect" );
lcemfb.setJpaDialect( jpaDialect );
Map mapJpaProperties = SpringContextService.getBean( "jpaPropertiesMap" );
lcemfb.setJpaPropertyMap( mapJpaProperties );
String strDialect = AppPropertiesService.getProperty( poolItem.getName( ) + ".dialect" );
// replace default dialect if <poolname>.dialect is specified
if ( StringUtils.isNotBlank( strDialect ) )
{
mapJpaProperties.put( strDialectProperty, strDialect );
}
_log.debug( "Using dialect " + mapJpaProperties.get( strDialectProperty ) + " for pool " + poolItem.getName( ) );
JpaVendorAdapter jpaVendorAdapter = SpringContextService.getBean( "jpaVendorAdapter" );
lcemfb.setJpaVendorAdapter( jpaVendorAdapter );
lcemfb.afterPropertiesSet( );
EntityManagerFactory emf = lcemfb.getNativeEntityManagerFactory( );
_log.info( "JPA Startup Service : EntityManagerFactory created for pool : " + strPoolname );
_log.debug( "> EMF : " + emf.toString( ) );
JpaTransactionManager tm = new JpaTransactionManager( );
tm.setEntityManagerFactory( emf );
tm.setJpaDialect( jpaDialect );
_log.debug( "> JpaDialect " + jpaDialect );
tm.afterPropertiesSet( );
_log.info( "JPA Startup Service : JPA TransactionManager created for pool : " + strPoolname );
_log.debug( "> TM : " + tm.toString( ) );
mapFactories.put( strPoolname, emf );
listTransactionManagers.add( tm );
}
EntityManagerService ems = SpringContextService.getBean( "entityManagerService" );
ems.setMapFactories( mapFactories );
ChainedTransactionManager ctm = SpringContextService.getBean( "transactionManager" );
ctm.setTransactionManagers( listTransactionManagers );
_log.info( "JPA Startup Service : completed successfully" );
}
/**
* {@inheritDoc}
*/
@Override
public JpaDialect getJpaDialect() {
return internalFactoryBean.getJpaDialect();
}
@Bean
public JpaDialect jpaDialect() {
return new HibernateJpaDialect();
}
@Bean
public JpaDialect jpaDialect() {
return new HibernateJpaDialect();
}
@Bean
public JpaDialect jpaDialect() {
return new HibernateJpaDialect();
}
/**
* Specify the vendor-specific JpaDialect implementation to associate with this EntityManagerFactory.
*
* <p>
* This will be exposed through the EntityManagerFactoryInfo interface, to be picked up as default dialect by
* accessors that intend to use JpaDialect functionality.
* </p>
*
* @param jpaDialect the JPA dialect to set
*
* @see EntityManagerFactoryInfo#getJpaDialect()
*/
public void setJpaDialect(JpaDialect jpaDialect) {
this.internalFactoryBean.setJpaDialect(jpaDialect);
}