有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用Spring Boot JPA配置多个数据源

根据一篇教程,我创建了两个配置类,它们使用同一数据库的不同模式,在模型类中不使用@onetomany和@manytoone注释,但使用这些注释时,当我尝试运行应用程序时,我得到了以下错误

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dynamicHouseEntityManagerFactory' defined in class path resource [com/oroprise/auth/app/config/DynamicHouseDbConfig.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: mappedBy reference an unknown target entity property: com.oroprise.auth.app.securedynamic.model.RadioCheckboxelements.house_dynamicform in com.oroprise.auth.app.securedynamic.model.DynamicHouse.labelnames
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:606) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeansOfType(DefaultListableBeanFactory.java:594) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1226) ~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.BeanFactoryUtils.beansOfTypeIncludingAncestors(BeanFactoryUtils.java:291) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.getMetamodels(JpaMetamodelMappingContextFactoryBean.java:102) ~[spring-data-jpa-2.1.10.RELEASE.jar:2.1.10.RELEASE]
    at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean.java:80) ~[spring-data-jpa-2.1.10.RELEASE.jar:2.1.10.RELEASE]
    at org.springframework.data.jpa.repository.config.JpaMetamodelMappingContextFactoryBean.createInstance(JpaMetamodelMappingContextFactoryBean.java:44) ~[spring-data-jpa-2.1.10.RELEASE.jar:2.1.10.RELEASE]
    at org.springframework.beans.factory.config.AbstractFactoryBean.afterPropertiesSet(AbstractFactoryBean.java:142) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1837) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1774) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:303) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:110) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1681) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1433) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1251) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1251) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:204) ~[spring-beans-5.1.9.RELEASE.jar:5.1.9.RELEASE]
    at org.springframework.boot.web.servlet.ServletContextInitializerBeans.getOrderedBeansOfType(ServletContextInitializerBeans.java:211) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:174) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAsRegistrationBean(ServletContextInitializerBeans.java:169) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.servlet.ServletContextInitializerBeans.addAdaptableBeans(ServletContextInitializerBeans.java:154) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.servlet.ServletContextInitializerBeans.<init>(ServletContextInitializerBeans.java:86) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.getServletContextInitializerBeans(ServletWebServerApplicationContext.java:253) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.selfInitialize(ServletWebServerApplicationContext.java:227) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.embedded.tomcat.TomcatStarter.onStartup(TomcatStarter.java:53) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_171]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) ~[?:1.8.0_171]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_171]
    at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at java.util.concurrent.AbstractExecutorService.submit(Unknown Source) ~[?:1.8.0_171]
    at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:932) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.apache.catalina.startup.Tomcat.start(Tomcat.java:459) ~[tomcat-embed-core-9.0.24.jar:9.0.24]
    at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:105) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.<init>(TomcatWebServer.java:86) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:416) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:180) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153) ~[spring-boot-2.1.8.RELEASE.jar:2.1.8.RELEASE]
    ... 13 more

申请。属性

        spring.jpa.database=default
        spring.datasource.platform=postgres
        # PostgreSQL DB - "primary"
        spring.datasource.driver-class-name=org.postgresql.Driver
        spring.datasource.jdbc-url= jdbc:postgresql://localhost:5433/SurveyDB?currentSchema=securesurvey
        spring.datasource.username=postgres
        spring.datasource.password=password
        # PostgreSQL DB - "secondary"
        spring.dynamicform.datasource.driver-class-name=org.postgresql.Driver
        spring.dynamicform.datasource.jdbc-url= jdbc:postgresql://localhost:5433/SurveyDB?currentSchema=securedynamic
        spring.dynamicform.datasource.username=postgres
        spring.dynamicform.datasource.password=password
        # ===============================
        # = JPA / HIBERNATE
        # ===============================
        spring.jpa.show-sql = true
        spring.jpa.hibernate.ddl-auto = update
        spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
        spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
        spring.jpa.properties.hibernate.format_sql = true

动态库。爪哇

@Entity
        @Table(name = "house_dynamicform")
        public class DynamicHouse implements Serializable {
            @Id
            @GeneratedValue(strategy = GenerationType.IDENTITY)
            @Column(name = "id")
            private Long id;
            @NotNull
            @Size(max = 100)
            @Column(name = "column_name")
            private String columnName;
            @NotNull
            @Size(max = 100)
            @Column(name = "data_type")
            private String dataType;
            @NotNull
            @Size(max = 100)
            @Column(name = "elements")
            private String elements;
            @NotNull
            @Size(max = 5)
            @Column(name = "foreign_key")
            private String foreignKey;
            @NotNull
            @Size(max = 5)
            @Column(name = "is_default")
            private String isDefault;
            @NotNull
            @Size(max = 5)
            @Column(name = "is_null")
            private String isNull;
            @NotNull
            @Size(max = 50)
            @Column(name = "char_length")
            private String characterLength;
            @NotNull
            @Column(name = "table_id")
            private Long tableId;
            @NotNull
            @Size(max = 250)
            @Column(name = "displayname")
            private String displayName;
            @NotNull
            @Size(max = 100)
            @Column(name = "proj_zone")
            private String projZone;
            @NotNull
            @Size(max = 100)
            @Column(name = "field_name")
            private String fieldName;
            @NotNull
            @Size(max = 100)
            @Column(name = "fieldsequence")
            private String fieldSequence;
            @Column(name = "location_date")
            @Temporal(TemporalType.TIMESTAMP)
            private Date locationDate;
            @NotNull
            @Size(max = 100)
            @Column(name = "createdby")
            private String createdBy;
            @Transient
            private String locatDate;

            @OneToMany(cascade = CascadeType.ALL, mappedBy = "house_dynamicform", fetch = FetchType.EAGER)
            private List<RadioCheckboxelements> labelnames = new ArrayList<>();

            public DynamicHouse() {
            }

            public DynamicHouse(Long id, @NotNull @Size(max = 100) String columnName, @NotNull @Size(max = 100) String dataType,
                    @NotNull @Size(max = 100) String elements, @NotNull @Size(max = 5) String foreignKey,
                    @NotNull @Size(max = 5) String isDefault, @NotNull @Size(max = 5) String isNull,
                    @NotNull @Size(max = 50) String characterLength, @NotNull Long tableId,
                    @NotNull @Size(max = 250) String displayName, @NotNull @Size(max = 100) String projZone,
                    @NotNull @Size(max = 100) String fieldName, @NotNull @Size(max = 100) String fieldSequence,
                    Date locationDate, @NotNull @Size(max = 100) String createdBy, String locatDate,
                    List<RadioCheckboxelements> labelnames) {
                super();
                this.id = id;
                this.columnName = columnName;
                this.dataType = dataType;
                this.elements = elements;
                this.foreignKey = foreignKey;
                this.isDefault = isDefault;
                this.isNull = isNull;
                this.characterLength = characterLength;
                this.tableId = tableId;
                this.displayName = displayName;
                this.projZone = projZone;
                this.fieldName = fieldName;
                this.fieldSequence = fieldSequence;
                this.locationDate = locationDate;
                this.createdBy = createdBy;
                this.locatDate = locatDate;
                this.labelnames = labelnames;
            }
            //getter //setter
        }

无线电检查设备。爪哇

@Entity
@Table(name = "radio_checkbox_elements")
public class RadioCheckboxelements implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "rcid")
    private Long rcid;
    @NotNull
    @Size(max = 100)
    @Column(name = "lablenames")
    private String labelnames;
    @JsonIgnore
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "dynamichouseId", nullable = false)
    @OnDelete(action = OnDeleteAction.CASCADE)
    private DynamicHouse dynamichouse;

    public RadioCheckboxelements() {
        super();
    }

    public RadioCheckboxelements(Long rcid, @NotNull @Size(max = 100) String labelnames) {
        super();
        this.rcid = rcid;
        this.labelnames = labelnames;
    }
    //getter //setter
}

PrimaryDbConfig。爪哇

@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(entityManagerFactoryRef = "entityManagerFactory", transactionManagerRef = "transactionManager", basePackages = {
        "com.oroprise.auth.app.repository" })
public class PrimaryDbConfig {

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

    @Primary
    @Bean(name = "entityManagerFactory")
    public LocalContainerEntityManagerFactoryBean entityManagerFactory(EntityManagerFactoryBuilder builder,
            @Qualifier("dataSource") DataSource dataSource) {
        return builder.dataSource(dataSource).packages("com.oroprise.auth.app.model").persistenceUnit("User")
            .properties(singletonMap("hibernate.hbm2ddl.auto", "update"))
                .build();
    }

    @Primary
    @Bean(name = "transactionManager")
    public PlatformTransactionManager primaryTransactionManager(
            @Qualifier("entityManagerFactory") EntityManagerFactory entityManagerFactory) {
        return new JpaTransactionManager(entityManagerFactory);
    }

}

DynamicHouseDbConfig。爪哇

@Configuration
    @EnableTransactionManagement
    @EnableJpaRepositories(entityManagerFactoryRef = "dynamicHouseEntityManagerFactory",
        transactionManagerRef = "dynamicHouseTransactionManager", basePackages = {"com.oroprise.auth.app.securedynamic.repository"})
    public class DynamicHouseDbConfig {

      @Bean(name = "dynamicHouseDataSource")
      @ConfigurationProperties(prefix = "spring.dynamicform.datasource")
      public DataSource dataSource() {
        return DataSourceBuilder.create().build();
      }

      @Bean(name = "dynamicHouseEntityManagerFactory")
      public LocalContainerEntityManagerFactoryBean dynamicHouseEntityManagerFactory(
          EntityManagerFactoryBuilder builder, @Qualifier("dynamicHouseDataSource") DataSource dataSource) {
        return builder.dataSource(dataSource).packages("com.oroprise.auth.app.securedynamic.model").persistenceUnit("DynamicHouse")
                .properties(singletonMap("hibernate.hbm2ddl.auto", "update"))
                    .build();
      }

      @Bean(name = "dynamicHouseTransactionManager")
      public PlatformTransactionManager dynamicHouseTransactionManager(
          @Qualifier("dynamicHouseEntityManagerFactory") EntityManagerFactory dynamicHouseEntityManagerFactory) {
        return new JpaTransactionManager(dynamicHouseEntityManagerFactory);
      }
    }

动态控制器。爪哇

@RestController
@CrossOrigin(origins = "http://oro.com")
public class DynamicFormController {
    private final Logger logger = LoggerFactory.getLogger(this.getClass());

    @Autowired
    public DynamicFormService dynamicFormService;

    @RequestMapping(value = "/forms/houseform/getdetails/{id}", method = RequestMethod.GET)
    public ResponseEntity<?> fetchDynamicHouseHoldFormValues(@PathVariable(value="id") int id) {
        logger.info("DynamicFormController fetchDynamicHouseHoldFormValues() is invoked : " +id);
        SedclDetailsResponse stringResponse = null;
        try {
            List<DynamicHouse> list = dynamicFormService.fetchDynamicHouseData(id);
            if(list!=null) {
                stringResponse = new SedclDetailsResponse("True", list);
            }
        } catch (Exception e) {
            logger.error("Error in fetchDynamicFormValues() of DynamicFormController :- ", e);
            stringResponse = new SedclDetailsResponse("False", "Oops! Something went wrong, please try again.");
        }
        return ResponseEntity.ok(stringResponse);
    }

动态用户位置。爪哇

@Repository("dynamicHouseRepository")
    public interface DynamicHouseRepository extends JpaRepository<DynamicHouse, Long> {

        @Query(value = "select * from house_dynamicform where table_id = ?1 order by fieldsequence asc", nativeQuery = true)
        public List<DynamicHouse> fetchDetails(long id);
    }

RadioCheckboxRepository。爪哇

@Repository("radioCheckboxRepository")
    public interface RadioCheckboxRepository extends JpaRepository<RadioCheckboxelements, Long> {

        @Query(value = "select * from radio_checkbox_elements where huse_id = ?1", nativeQuery = true)
        public List<RadioCheckboxelements> fetchLabelDetails(long id);
    }

我已经试着解决这个问题超过10个小时了。 提前感谢您所能提供的任何帮助


共 (1) 个答案

  1. # 1 楼答案

    你能试着更新你的DynamicHouse实体,看看它是否有效吗

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "dynamichouse", fetch = FetchType.EAGER) 
    private List<RadioCheckboxelements> labelnames = new ArrayList<>();