Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 这个代码有什么问题?(多数据源Oracle)_Java_Spring_Oracle_Spring Boot_Spring Data Jpa - Fatal编程技术网

Java 这个代码有什么问题?(多数据源Oracle)

Java 这个代码有什么问题?(多数据源Oracle),java,spring,oracle,spring-boot,spring-data-jpa,Java,Spring,Oracle,Spring Boot,Spring Data Jpa,目前,我必须在Spring Boot项目中连接两个Oracle数据源。我认为我的配置做得很好,因为Spring验证了我的连接,但当我调用一个服务时,它总是响应我“空”。我想是因为交易经理没有改变 这是我的项目结构: - project ⊢---- config ⊢---- controllers ∟---- models ⊢---- dao | ⊢---- db1 | ∟---- db2 ⊢---- entity | ⊢---- db1

目前,我必须在Spring Boot项目中连接两个Oracle数据源。我认为我的配置做得很好,因为Spring验证了我的连接,但当我调用一个服务时,它总是响应我“空”。我想是因为交易经理没有改变

这是我的项目结构:

- project
⊢---- config
⊢---- controllers
∟---- models
    ⊢---- dao
    |   ⊢---- db1
    |   ∟---- db2
    ⊢---- entity
    |   ⊢---- db1
    |   ∟---- db2
    ⊢---- services
        ⊢---- db1
        ∟---- db2
这是我的实体类:

包project.models.entity.db1;
////进口
@实体(name=“User”)
@表(name=“T_USER”)
公共类用户实现可序列化{
私有静态最终长serialVersionUID=1L;
@身份证
私人长id;
私有字符串名称;
私家姓;
私有字符串用户名;
私有字符串密码;
//////构造
//////接球手和接球手
//////HASCODE、EQUALS和TOSTRING
}
package project.models.entity.db2;
////进口
@实体(名称=“股东”)
@表(name=“股东”)
公共类实现了可序列化{
私有静态最终长serialVersionUID=1L;
@身份证
私有整数id;
私有整数;
//////构造
//////接球手和接球手
//////HASCODE、EQUALS和TOSTRING
}
这是我的存储库类:

package project.models.dao.db1;
////进口
@PersistenceContext(name=“db1”)
@存储库
公共接口IUserDao扩展了JpaRepository{
}
package project.models.dao.db2;
////进口
@PersistenceContext(name=“db2”)
@存储库
公共接口IShareholderDao扩展了JpaRepository{
}
这是我的服务课程:

package project.models.services.db1.impl;
////进口
@服务
公共类UserServiceImpl实现IUserService{
@自动连线
私有IUserDao userDao;
@凌驾
@事务性(“transactionManager”)
公共列表findAll(){
返回userDao.findAll();
}
@凌驾
@事务性(“transactionManager”)
公共用户findById(长id){
返回userDao.findById(id).orElse(null);
}
package project.models.services.db2.impl;
////进口
@服务
公共类ShareholderServiceImpl实现了ISShareHolderService{
@自动连线
私人IShareholderDao股东dao;
@凌驾
@事务性(“db2TransactionManager”)
公共列表findAll(){
返回股东dao.findAll();
}
@凌驾
@事务性(“db2TransactionManager”)
公众股东findById(整数id){
返回shareholderDao.findById(id).orElse(null);
}
}
这是我的配置类:

package project.config;
////进口
@配置
@配置属性(前缀=“oracle1”)
@EnableJParepositions(entityManagerFactoryRef=“entityManagerFactory”,transactionManagerRef=“transactionManager”,basePackages={
“project.models.dao.db1”})
@启用事务管理
@验证
公共类Db1Config{
@NotNull
私有字符串用户名;
@NotNull
私有字符串密码;
@NotNull
私有字符串url;
@Bean(name=“entityManagerFactory”)
public LocalContainerEntityManagerFactoryBean entityManagerFactory()引发SQLException{
LocalContainerEntityManagerFactoryBean em=新的LocalContainerEntityManagerFactoryBean();
em.setDataSource(dataSource());
em.setPackagesToScan(新字符串[]{“project.models.entity.db1”});
HibernateJavaEndorapter vendorAdapter=新的HibernateJavaEndorapter();
em.setjpavendor适配器(供应商适配器);
em.setJpaProperties(hibernateProperties());
em.setPersistenceUnitName(“db1”);
返回em;
}
@Bean(name=“dataSource”)
DataSource DataSource()引发SQLException{
OracleDataSource dataSource=新的OracleDataSource();
setUser(用户名);
dataSource.setPassword(密码);
setURL(url);
dataSource.setImplicitCachingEnabled(true);
dataSource.setFastConnectionFailoverEnabled(true);
返回数据源;
}
@初级的
@Bean(name=“transactionManager”)
公共平台transactionManager transactionManager()引发SQLException{
返回新的JpaTransactionManager(entityManagerFactory().getObject());
}
私有属性hibernateProperties(){
属性=新属性();
properties.put(“hibernate.dialogue”、“org.hibernate.dialogue.oracle10gdialogue”);
properties.put(“hibernate.show_sql”,“true”);
properties.put(“hibernate.hbm2ddl.auto”、“validate”);
归还财产;
}
}
package project.config;
////进口
@配置
@配置属性(前缀=“oracle2”)
@EnableJParepositions(entityManagerFactoryRef=“db2EntityManagerFactory”,transactionManagerRef=“db2TransactionManager”,basePackages={
“project.models.dao.db2”})
@启用事务管理
@验证
公共类Db2Config{
@NotNull
私有字符串用户名;
@NotNull
私有字符串密码;
@NotNull
私有字符串url;
@Bean(name=“db2EntityManagerFactory”)
public LocalContainerEntityManagerFactoryBean db2EntityManagerFactory()引发SQLException{
LocalContainerEntityManagerFactoryBean em=新的LocalContainerEntityManagerFactoryBean();
em.setDataSource(db2DataSource());
em.setPackagesToScan(新字符串[]{“project.models.entity.db2”});
HibernateJavaEndorapter vendorAdapter=新的HibernateJavaEndorapter();
em.setjpavendor适配器(供应商适配器);
em.setJpaProperties(hibernateProperties());
em.setPersistenceUnitName(“db2”);
返回em;
}
@Bean(name=“db2DataSource”)
DataSource db2DataSource()引发SQLException{
OracleDataSource dataSource=新的OracleDataSource();
setUser(用户名);
dataSource.s
[User [id=39, name=Jack, surname=Sparrow, ...], [...], ...]
[]
        em.setPackagesToScan(new String[] { "project.models.entity.db1" });
        em.setPackagesToScan(new String[] { "project.models.dao.db2" });