2014-10-02 26 views
0

我目前正在研究一个已经存在多年并且经历了相当数量的转换的系统。 (GWT \春\休眠)。我最近不得不合并两个实体作为变更的一部分。当我查看实际的sql表时,我注意到有一些孤立的列实际上没有映射到实体并且可以有效地删除。我想知道是否有任何工具可以帮助我们识别和清除那些实际上没有与我们实体相关的过期列。如何显示实体和数据库表结构之间的差异

回答

0

如果你使用Spring和Hibernate,你可以使用自动检测来创建/更新数据库,尽管你在实体中拥有实体属性。

您的hibernate.hbm2ddl.auto设置应定义数据库中创建(选项验证,创建,更新或创建降)

这里Spring配置:

 <?xml version="1.0" encoding="UTF-8"?> 

<persistence-unit name="NewPersistenceUnit"> 
    <provider>org.hibernate.ejb.HibernatePersistence</provider> 
    <properties> 
     <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/Icarus"/> 
     <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/> 
     <property name="hibernate.connection.username" value="root"/> 
     <property name="hibernate.connection.password" value=""/> 
     <property name="hibernate.archive.autodetection" value="class"/> 
     <property name="hibernate.show_sql" value="true"/> 
     <property name="hibernate.format_sql" value="true"/> 
     <property name="hbm2ddl.auto" value="create"/> 
    </properties> 
    <class>net.interaxia.icarus.data.models.ServerNode</class> 
</persistence-unit> 

相关问题