当前位置: 首页 > 知识库问答 >
问题:

Spring+Hibernate-没有在MySQL中创建表

毋树
2023-03-14
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.medosa</groupId>
    <artifactId>MedoSa-backend</artifactId>
    <version>1</version>
    <packaging>war</packaging>
    <name>MedoSa-backend</name>
    <description>A hand for a needed hand</description>

    <properties>
        <jdk.version>1.8</jdk.version>
        <spring.version>4.3.4.RELEASE</spring.version>
        <jackson.version>1.9.13</jackson.version>
        <hibernate.version>4.3.11.Final</hibernate.version>
    </properties>

    <repositories>
        <repository>
            <id>JBoss repository</id>
            <url>http://repository.jboss.com/maven2/</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.3.4.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.7.3</version>
        </dependency>

        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>${jackson.version}</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.9</version>
        </dependency>

        <!-- Hibernate library dependecy start -->
        <dependency>
            <groupId>com.jolbox</groupId>
            <artifactId>bonecp</artifactId>
            <version>0.8.0.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.1.0.Final</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>
        <!-- Hibernate framework -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-validator -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>5.4.1.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate-annotations -->
        <!-- <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-annotations</artifactId>
            <version>3.5.6-Final</version>
        </dependency> -->
    </dependencies>

    <build>
        <finalName>MedoSa-Backend</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <target>${jdk.version}</target>
                    <source>${jdk.version}</source>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

下面是我的dispatcher-servlet.xml文件:

http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/mvc/springframework.org/schema/mvc/spring-mvc-3.1.xsd“>

<context:component-scan base-package="com.medosa" />
<mvc:annotation-driven />

<context:property-placeholder location="classpath:AppConfig.properties" />

<!-- BoneCP configuration -->
<bean id="dataSource" class="com.jolbox.bonecp.BoneCPDataSource"
    destroy-method="close">
    <property name="driverClass" value="${db.driverClassName}" />
    <property name="jdbcUrl" value="${db.url}" />
    <property name="username" value="${db.username}" />
    <property name="password" value="${db.password}" />
    <property name="idleConnectionTestPeriod" value="60" />
    <property name="idleMaxAge" value="240" />
    <property name="maxConnectionsPerPartition" value="30" />
    <property name="minConnectionsPerPartition" value="10" />
    <property name="partitionCount" value="3" />
    <property name="acquireIncrement" value="5" />
    <property name="statementsCacheSize" value="100" />
    <property name="releaseHelperThreads" value="3" />
</bean>

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="hibernateProperties">
        <props>
            <prop key="hibernate.dialect">${db.dialect}</prop>
            <prop key="hibernate.hbm2ddl.auto">create-drop</prop>
            <prop key="hibernate.show_sql">true</prop>
        </props>
    </property>
</bean>

<tx:annotation-driven />
<bean id="transactionManager"
    class="org.springframework.orm.hibernate4.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="persistenceExceptionTranslationPostProcessor"
    class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor" />

我已经创建了我的模型类。并用@Entity对它们进行注释。我还将hbm2ddl属性设置为CREATE。但是,每当我试图在服务器中部署它时,它不会生成表。也没有错误。

我试着在谷歌上搜索所有的解决方案,尝试了很多东西但没有奏效。我将感谢你的好心帮助

共有1个答案

傅正阳
2023-03-14

看起来您没有添加模型类的类路径。您可以在SessionFactory中添加此内容。
标记后添加

<mapping class="<full class path>"/>

例如-

此外,如果正在显示SQL语句,请检查控制台。如果表是“创建”然后“删除”,则替换

<prop key="hibernate.hbm2ddl.auto">create-drop</prop>

create-drop:创建一个模式,然后在显式关闭SessionFactory时删除该模式,通常是在应用程序停止时。

Update:创建模式并在模型类中有任何更改时进行更新。这是一个更安全的选择,因为数据库不会被删除,或者数据不会在服务器重新启动时受到影响。

创建:创建模式,销毁以前的数据。(只在第一次使用它,否则可能导致下次重新启动服务器时所有数据都被销毁。

 类似资料:
  • 我是春靴新来的,我需要你的帮助。我试图配置我的MySQL DB,JPA(Hibernate),但我遇到了以下异常: 创建类路径资源中定义的名为“实体ManagerFactory”的bean时出错。....

  • 我想创建一个包含 Json 列 的表。 我得到了一个表示该表的实体,其中表示json类型的字段使用json转换器: 实体: 而GroupPropertiesJsonConverter是: 以及sql脚本: 当Spring启动应用程序时,我收到以下Hibernate模式验证错误 所以据我所知,Hibernate将我的实体字段解析为,即使我使用的是转换器注释。 将<code>properties_dt

  • 我在创建sessionFactory对象时遇到问题。我将Hibernate与Maven和MySQL一起使用。怎么修? 日志错误: xml(在src/main/resources中): users.hbm.xml(在src/main/users.hbm.xml中):

  • 这意味着没有为内部 我找不出这里出了什么问题?非常感谢任何帮助。

  • 虽然我可以在其他项目中创建表,但这个项目不是从实体类创建表。我在使用eclipse的spring boot jpa中有以下实体类: 存储库类如下: 下面是属性文件: 但在没有任何错误地运行项目之后,我看不到在mySql工作台中创建的表。我试了很多次都没有成功。如果你找到解决办法,请告诉我。干杯

  • 问题内容: 当我们必须使用 在Hibernate中,它们之间有什么区别? 问题答案: createQuery: http://docs.jboss.org/hibernate/core/3.6/reference/zh- CN/html/objectstate.html#objectstate- querying http://docs.jboss.org/hibernate/core/3.6/r