public void ormCrudWithSchema(SessionProvider sessionProvider) throws Exception { final Class<Zoo_People> clazz = Zoo_People.class; final TableMap<Zoo_People> tableMap = new TableMap<Zoo_People>(); new ClassTableMapBuilder<Zoo_People>(clazz, tableMap).updateTableMap(); final IClassMapperBuilder<Zoo_People> classMapperGenerator = new ClassMapperBuilder<Zoo_People>(clazz, tableMap); final IClassMapper<Zoo_People> classMapper = classMapperGenerator.generate(); assertNotNull(classMapper); final IOrmCRUDQueryGenerator<Zoo_People> ormGenerator = new OrmCRUDQueryGenerator<Zoo_People>(new DefaultDialect(), classMapper); final IOrmCRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getLoadQuery()); System.out.println(ormCrudQuery.getUpdateQuery()); System.out.println(ormCrudQuery.getDeleteQuery()); System.out.println(ormCrudQuery.getSaveQuery()); }
public void ormCrudWithSequence(SessionProvider sessionProvider) throws Exception { final Class<People> clazz = People.class; final TableMap<People> tableMap = new TableMap<People>(); new ClassTableMapBuilder<People>(clazz, tableMap).updateTableMap(); final IClassMapperBuilder<People> classMapperGenerator = new ClassMapperBuilder<People>(clazz, tableMap); final IClassMapper<People> classMapper = classMapperGenerator.generate(); assertNotNull(classMapper); final IOrmCRUDQueryGenerator<People> ormGenerator = new OrmCRUDQueryGenerator<People>(new DefaultDialect(), classMapper); final IOrmCRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getLoadQuery()); System.out.println(ormCrudQuery.getUpdateQuery()); System.out.println(ormCrudQuery.getDeleteQuery()); System.out.println(ormCrudQuery.getSaveQuery()); }
public void ormCrud(SessionProvider sessionProvider) throws Exception { final Class<Employee> clazz = Employee.class; final TableMap<Employee> tableMap = new TableMap<Employee>(); new ClassTableMapBuilder<Employee>(clazz, tableMap).updateTableMap(); final IClassMapperBuilder<Employee> classMapperGenerator = new ClassMapperBuilder<Employee>(clazz, tableMap); final IClassMapper<Employee> classMapper = classMapperGenerator.generate(); assertNotNull(classMapper); final IOrmCRUDQueryGenerator<Employee> ormGenerator = new OrmCRUDQueryGenerator<Employee>(new DefaultDialect(), classMapper); final IOrmCRUDQuery ormCrudQuery = ormGenerator.generate(); assertNotNull(ormCrudQuery); System.out.println(ormCrudQuery.getLoadQuery()); System.out.println(ormCrudQuery.getUpdateQuery()); System.out.println(ormCrudQuery.getDeleteQuery()); System.out.println(ormCrudQuery.getSaveQuery()); }
@Override public final <T> int update(final T object) throws OrmException { @SuppressWarnings("unchecked") final IOrmClassTool<T> ormClassTool = (IOrmClassTool<T>) this.getOrmClassToolMap().getOrmClassTool(object.getClass()); final SqlPerformer sqlExec = this.sqlPerformer(); //CHECK IF OBJECT HAS A 'VERSION' FIELD if (ormClassTool.getClassMapper().getTableMap().isVersionable()) { final int rightVersion = sqlExec.queryForInt(ormClassTool.getOrmCRUDQuery().getBeanVersionQuery(), ormClassTool.getOrmPersistor().primaryKeyAndVersionValues(object)); if ( rightVersion==0 ) { throw new OrmOptimisticLockException("The bean of class [" + object.getClass() + "] cannot be updated. Version in the DB is not the expected one."); } ormClassTool.getOrmPersistor().increaseVersion(object, false); } //UPDATE OBJECT final Object[] pkArgs = ormClassTool.getOrmPersistor().primaryKeyValues(object); final Object[] npkArgs = ormClassTool.getOrmPersistor().notPrimaryKeyValues(object); final Object[] args = new Object[ npkArgs.length + pkArgs.length ]; int i=0; for (final Object value : npkArgs) { args[i++] = value; } for (final Object value : pkArgs) { args[i++] = value; } return sqlExec.update(ormClassTool.getOrmCRUDQuery().getUpdateQuery(), args); }