Oracle 數據庫:
Hibernate annotation :
Caused by: org.hibernate.HibernateException: Wrong column type: NUMBERS, expected: NUMBER(20,3) default 0
Hibernate annotation :
@Column(name="NUMBERS",columnDefinition="NUMBER(20,3) default 0 ")
public BigDecimal getNumbers() {
return numbers;
}
異常:
異常:
at org.hibernate.mapping.Table.validateColumns(Table.java:261)
at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1083)
at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:116)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:317)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915)
at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:730)
... 122 more
解決方法:
解決方法:
@Column(name="NUMBERS",columnDefinition="number(20,3) default 0 ")
public BigDecimal getNumbers() {
return numbers;
}
原因:hibernate 在列定義選項中,數據庫中的所有類型應為小寫number. hibernate在此直接面對數據庫,所以區分大小寫.
原因:hibernate 在列定義選項中,數據庫中的所有類型應為小寫number. hibernate在此直接面對數據庫,所以區分大小寫.