带auto的hibernate.hbm2ddl.auto不会添加新列

时间:2017-01-17 08:05:17

标签: java database postgresql hibernate

我使用@Embedded添加BigDecimals

@Embeddable
public class ChildGrossNetTransformVariables {

@Column(name = "amount", precision = 19, scale = 4)
public BigDecimal amount;
...

在其他实体中使用:

@Embedded
protected ParentGrossNetTransformVariables grossNetTransform;

lConf.setProperty("hibernate.hbm2ddl.auto", "auto")停止工作(我需要参数“auto”但我也检查了lConf.setProperty("hibernate.hbm2ddl.auto", "create-drop")并使用“create-drop”参数正确创建了数据库)。当我尝试添加新列以检查列autoupdate是否有效时:

@Type(type="java.lang.String")
@Column(name = "test")
protected String test;

错误

SQLGrammarException: could not extract ResultSet
...
org.postgresql.util.PSQLException: Error: the Column this._test doesnt exist

我能以某种方式调试吗?

我尝试lConf.setProperty("hibernate.show_sql", "true");,但第一个日志是SELECT ...语句,而不是ALTER TABLE

1 个答案:

答案 0 :(得分:3)

auto不是hibernate.hbm2ddl.auto的有效值,您的意思是update。再试一次。