【问题标题】:spring + hibernate integration Table "table_name " is missingspring + hibernate 集成表“table_name”丢失
【发布时间】:2016-07-07 20:11:43
【问题描述】:

我将 spring 与 hibernate 集成,我使用 dropwizard 配置文件作为:持久性文件具有配置文件在资源文件夹中加载 xml 文件没有问题。找到的表有问题。 persistence.xml 文件为:

<persistence-unit name="bfm" transaction-type="RESOURCE_LOCAL" >
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>com.bcits.parkingmanagement.model.User</class>
  <exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
      <!-- Configuring JDBC properties -->
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/anuj" />
      <property name="javax.persistence.jdbc.user" value="root" />
      <property name="javax.persistence.jdbc.password" value="root" />
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
</persistence-unit>
</persistence>

在 spring 应用程序配置 xml 中:我只显示休眠配置

<context:annotation-config />
    <context:component-scan base-package="com.bcits.parkingmanagement.model" />

    <jdbc:embedded-database id="dataSource" type="HSQL" />  


    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="persistenceXmlLocation" value="classpath:spring/persistence.xml" />
        <property name="dataSource" ref="dataSource"/>
    </bean>   

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

    <bean id="entityManager"
        class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>

表用户丢失

 javax.persistence.PersistenceException: [PersistenceUnit: bfm] Unable to build EntityManagerFactory
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1562)
    ... 18 more
Caused by: org.hibernate.HibernateException: Missing table: user

请任何人帮助我如何解决此错误。我想用hibernate配置spring。我想它是连接到数据库但找不到表。表名和列名完全相同。数据库名称也正确,数据库的用户名和密码没有问题。

【问题讨论】:

  • 显示您的用户模型类。其次。你有一个名为 Anuj 的数据库和一个名为 user 的表吗?
  • 是 "@"Entity "@"Table(name="user") public class User { "@"Id "@"Column(name="user_id") private int id; "@"Column(name="user_name") 私有字符串名称; //getter 和 setter}
  • 编辑您的主帖以粘贴新内容。
  • 向我们展示您启用的属性!
  • &lt;prop key="hibernate.hbm2ddl.auto"&gt;create&lt;/prop&gt; 属性配置为什么?

标签: mysql spring hibernate jpa


【解决方案1】:
User model is: Here User is model name and user is table which have two column one is user_id and user_name. Issue is that i had used user instead of User in query. Because User is model name and user is table name .Correct model is given below

@NamedQueries({
    @NamedQuery( name="getUserName" , query="select name from User")
  })

@Entity
@Table( name ="user")
public class User {
    @Id
    @Column( name="user_id")
    private int id;
    @Column( name="user_name")
    private String name;

   //getter setter
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 2013-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-29
    相关资源
    最近更新 更多