当前位置: 首页 > 面试题库 >

如何在没有persistence.xml的情况下配置Spring?

仲孙英才
2023-03-14
问题内容

我正在尝试设置spring xml配置,而不必创建进一步的persistence.xml。但是,即使我将数据库属性包括在spring.xml

    Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in file [C:\Users\me\workspace\app\src\main\webapp\WEB-INF\applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: No persistence units parsed from {classpath*:META-INF/persistence.xml}

spring.xml:

  <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName" value="${jdbc.driverClassName}" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
  </bean>

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource" />
     <property name="jpaProperties">
         <props>
            <prop key="hibernate.dialect">${hibernate.dialect}</prop>
            <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
            <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
            <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
         </props>
      </property>
    </bean>

我在这里想念什么?


问题答案:

在entityManagerFactory bean定义中指定“ packagesToScan”和“ persistenceUnitName”属性。

<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="dataSource" ref="dataSource" />

        <property name="persistenceUnitName" value="myPersistenceUnit" />
        <property name="packagesToScan" >
            <list>
                <value>org.mypackage.*.model</value>
            </list>
        </property>

        <property name="jpaProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
                <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
                <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
            </props>
        </property>
    </bean>

请注意,这适用于Spring版本> 3.1



 类似资料:
  • 我正在尝试设置SpringXML配置,而不必创建进一步的。但是我经常遇到以下异常,即使我在 spring.xml: 我错过了什么?

  • 问题内容: 我需要在Linux / OSX终端下使用“干净的” shell(例如bash),而无需任何用户配置,但是每次启动时,它都会从某些文件(例如〜/ .bashrc)中读取配置信息。每当我需要“干净”的外壳时,我都可以修改该文件,并在完成后将其还原,但是有没有更简单的方法来执行此操作,例如命令? 问题答案: 您可以传递和命令行选项: 您可以在手册页中找到有关这些选项的文档。

  • 我尝试在bean部分中使用环境: 但环境中只有系统属性 所以问题是如何从application.yml加载配置,以及如何以这样的函数式实现@ConfigurationProperties的模拟? 注释、和开始工作。但是注释仅存在于依赖项中,而yml解析类仅存在于中。 在包含依赖项并将添加到beans部分之后,注释开始工作,但也未包含来自application.yml的配置。所以我增加了这一节: 到

  • 我花了过去几个小时试图设置2默认图像的nodejs 14和rethinkdb 2.3.5,所以很抱歉,如果语气有点沮丧,但我目前感到沮丧。 我的要求似乎超级简单。 下载nodejs 14和RejectDB 2.3.5的默认图像。 将我当前目录中的所有内容复制到nodejs 14映像中 我希望nodejs图像依赖于DB图像 在nodejs 14图像中运行2个命令<代码>npm ci和 请参阅测试中的

  • 我正在尝试构建一个基本的REST服务,它使用Spring Security和OAuth2.0身份验证和授权进行安全保护。 我试图限制所涉及的元素,所以我不是复制粘贴依赖于Spring bean、Spring MVC等的Spring Security Oath XML配置,而是直接使用Spring Security Oauth类。 尝试从/oauth/Token获取访问令牌时遇到了一个障碍。我可能缺

  • < sub >(我已经知道了答案,但是因为我经常发现自己在重新寻找答案,所以我把它贴在这里作为自己和他人的文档。这是Stackoverflow上鼓励的。) 许多 Servlet 开发人员都读过《Head First Serlet》一书 在Servlet 2.4及更低版本中,web.xml用于完全配置Web应用程序。但是更高版本似乎有其他方法来配置Web应用程序,无需触及web.xml和注释。例如,