实体注释时Hibernate无法创建表?

时间:2017-03-10 13:32:53

标签: mysql spring hibernate tomcat7

我的web项目,spring spring-mvc和hibernate,当tomcat启动时,没有在mysql db中创建的表。为什么?并且没有错误信息

sessionFactory

 <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">  
    <property name="dataSource" ref="dataSource" />  
    <property name="hibernateProperties">  
        <props>  
            <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>  
            <prop key="hibernate.dialect">${hibernate.dialect}</prop>  
            <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>  
            <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>  
        </props>  
    </property>   
   <property name="packagesToScan">  
        <list>  
            <value>com.woodcoder.bean</value>  
        </list>  
    </property>   
</bean>  

属性

hibernate.hbm2ddl.auto=update
hibernate.show_sql=true  
hibernate.format_sql=false 

我试过hibernate.hbm2ddl.auto=create,它是一样的。 为什么hibernate没有创建表?

实体

   @Entity
    @Table(name="user_bean")

public class UserBean extends BaseBean {

    private String username;
    private String password;

    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }


}

baseEntity

 @MappedSuperclass  
public class BaseBean implements Serializable{  
    /** 
     * ID 
     */
    @Id  
    @Column(name="id",length = 32, nullable = true)  
    @GeneratedValue(generator = "uuid")  
    @GenericGenerator(name = "uuid", strategy = "uuid")  
    private String id;  

    @Column(updatable = false)
    private Date createDate;  

    private Date modifyDate;  


    public String getId() {  
        return id;  
    }  

    public void setId(String id) {  
        this.id = id;  
    }  

    public Date getCreateDate() {  
        return createDate;  
    }  

    public void setCreateDate(Date createDate) {  
        this.createDate = createDate;  
    }  

    public Date getModifyDate() {  
        return modifyDate;  
    }  

    public void setModifyDate(Date modifyDate) {  
        this.modifyDate = modifyDate;  
    }  

1 个答案:

答案 0 :(得分:0)

是的,我遇到了问题。 在hibernate配置中,每行末尾都有一些空格,虽然我看不到它们。我删除了这些空格,表格已经创建。

    hibernate.hbm2ddl.auto=update
hibernate.show_sql=true
hibernate.format_sql=false