Search code examples
javaspringhibernatespring-roo

Spring Roo mangaged entities: dissable optimistic locking


Do someone know how to disable optimistic locking in Spring Roo managed entities? I generated entity annotated as follows:

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class CoolDomain {
}

However when I'm starting the app it fails to wire entity manager saying:

Caused by: org.hibernate.HibernateException: Missing column: version in COOL_DOMAIN
    at org.hibernate.mapping.Table.validateColumns(Table.java:369)
    at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1275)
    at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:155)
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:506)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1750)
    at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:94)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:905)
    ... 51 more 

Solution

  • To avoid version check I added versionField="" property to @RooJpaActiveRecord annotation. This resolved the issue:

    @RooJavaBean
    @RooToString
    @RooJpaActiveRecord(versionField="")
    public class CoolDomain {
    }