2015-11-21 9 views
11

स्प्रिंग बूट एप्लिकेशन में मैं एकाधिक डेटाबेस कनेक्शन सेट अप करने का प्रयास कर रहा हूं। मैंने प्राथमिक डेटासोर्स का निर्माण शुरू कर दिया है, लेकिन मुझे mySqlEntityManagerFactory विधि पर निम्न त्रुटि मिल रही है।स्प्रिंग बूट EntityManagerFactoryBuilder स्वचालित नहीं

ऑटोवायर नहीं कर सका। EntityManagerFactoryBuilder

import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder; 
import org.springframework.boot.context.properties.ConfigurationProperties; 
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder; 
import org.springframework.context.annotation.Bean; 
import org.springframework.context.annotation.Configuration; 
import org.springframework.context.annotation.Primary; 
import org.springframework.data.jpa.repository.config.EnableJpaRepositories; 
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; 
import org.springframework.transaction.annotation.EnableTransactionManagement; 
import org.springframework.transaction.annotation.Transactional; 

import javax.persistence.PersistenceContext; 
import javax.sql.DataSource; 
import java.util.HashMap; 
import java.util.Map; 

@Configuration 
@Transactional 
@EnableTransactionManagement 
@EnableJpaRepositories(
     basePackages = "digital.sheppard.dao", 
     entityManagerFactoryRef = "entityManager", 
     transactionManagerRef = "transactionManager") 
public class PrimaryDBConfig { 

    @Bean(name="dataSource") 
    @Primary 
    @ConfigurationProperties(prefix = "primary.datasource.mysql") 
    public DataSource mysqlDataSource() { 
     return DataSourceBuilder.create().build(); 
    } 

    @PersistenceContext(unitName = "primary") 
    @Primary 
    @Bean(name = "entityManager") 
    public LocalContainerEntityManagerFactoryBean mySqlEntityManagerFactory(EntityManagerFactoryBuilder builder) { 
     return builder.dataSource(mysqlDataSource()).persistenceUnit("primary").properties(jpaProperties()) 
       .packages("digital.sheppard.model").build(); 
    } 

    private Map<String, Object> jpaProperties() { 
     Map<String, Object> props = new HashMap<String, Object>(); 
     props.put("hibernte.ejb.naming_strategy", "org.hibernate.cfg.ImprovedNamingStrategy"); 
     props.put("hibernate.dialect", "org.hibernate.dialect.MySQL5Dialect"); 

     return props; 
    } 

} 

का कोई सेम मैं कैसे EntityManagerFactoryBuilder autowire हैं?

मैं इस ब्लॉग https://raymondhlee.wordpress.com/2015/10/31/configuring-multiple-jpa-entity-managers-in-spring-boot/

यहाँ पर कोड का पालन करने की कोशिश कर रहा हूँ मुख्य आवेदन वर्ग करता है, तो यह उपयोगी

@Configuration 
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) 
@ComponentScan 
public class Application extends SpringBootServletInitializer { 

    public static void main(String[] args) { 
     SpringApplication.run(Application.class, args); 
    } 

} 
+0

क्या आपने किसी भी हाइबरनेट से संबंधित ऑटोकॉन्फ़िगरेशन कक्षाएं अक्षम की हैं (जैसे HibernateJpaAutoConfiguration.class)? मुख्य अनुप्रयोग वर्ग में – dunni

+0

हां @EnableAuto कॉन्फ़िगरेशन (बहिष्कृत = {DataSourceAutoConfiguration.class})। मैंने इस कोड – SheppardDigital

+0

@ शेपर्ड के साथ प्रश्न को अद्यतन किया है, मुझे एक ही समस्या का सामना करना पड़ता है। इसके लिए आत्मा मिली? – Suresh

उत्तर

0

है यह आपके आईडीई सॉफ़्टवेयर के कारण किया गया था, की स्थापना इन विकल्पों में है enter image description here

+0

सेटिंग्स -> निरीक्षण -> वसंत -> चेतावनी –