2017-03-10 28 views
0

私のWebプロジェクト、spring spring-mvcと休止状態、Tomcat起動時にmysql dbで作成されたテーブルがありません。どうして?およびエラー情報エンティティの注釈がHibernateでテーブルを作成できません。

の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; 
    } 
+0

(オンにしていない場合)デバッグログを有効にします。おそらく、スキーマツールはエラーを発見していますが、ログレベルが低いために表示されないことがあります。次に、XMLファイルがデプロイメント戦争の値で正しく置き換えられていることを確認します。それがしばしば何かが起こらない理由になることがあります。 – Naros

+0

あなたの提案として、私はDEBUGにログレベルを下げ、次に私はより多くの情報を得るが、テーブルは作成されません。私はtomcatのdeployディレクトリをチェックして、すべてのプロパティとxmlファイルが適切にデプロイされています。 –

答えて

0

はい、私は問題を得ました。 のhibernate configには、各行の最後にスペースがありますが、私はthem.iがこれらのスペースを削除するのを見ることはできませんが、テーブルが作成されました。

hibernate.hbm2ddl.auto=update 
hibernate.show_sql=true 
hibernate.format_sql=false 
関連する問題