修改模型

时间:2016-06-17 12:37:44

标签: java spring hibernate

我有一个spring应用程序,在从后端创建数据库并启动应用程序后,它会运行迁移并创建相应的实体。这是样本实体

@Entity
@Table(name = "book")
public class Book {

    private Long id;
    private String name;
    private String code;
    private String price;
    private String authors;
    private String isbn;
    private String publisher;
    private Date publishedOn;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public Long getId() {
        return id;
    }

如果我从实体类中删除此字段,例如我可以说我不再需要它了

private String publisher;
    private Date publishedOn;

EDITTED

在我的hibernate配置xml文件中,我添加了这个以查看数据库是否会相应更新,但它没有

<property name="hibernateProperties">
            <props>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">false</prop>
            </props>
        </property>

在重新启动应用程序时,如何才能自动更新后端的数据库实体,就像第一次启动时自动创建表和字段一样。

1 个答案:

答案 0 :(得分:0)

Maby使用这样的东西:(未经测试)

<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create-drop</property>

所以你的意思是:

<property name="hibernateProperties">
    <props>
        <prop key="hibernate.hbm2ddl.auto">create-drop</prop>
        <prop key="hibernate.dialect">${hibernate.dialect}</prop>
        <prop key="hibernate.show_sql">false</prop>
    </props>
</property>