Example usage for org.hibernate.mapping RootClass setLazy

List of usage examples for org.hibernate.mapping RootClass setLazy

Introduction

In this page you can find the example usage for org.hibernate.mapping RootClass setLazy.

Prototype

public void setLazy(boolean lazy) 

Source Link

Usage

From source file:com.manydesigns.portofino.persistence.hibernate.HibernateConfig.java

License:Open Source License

protected RootClass createTableMapping(Mappings mappings,
        com.manydesigns.portofino.model.database.Table aTable) {

    Table tab = mappings.addTable(escapeName(aTable.getSchemaName()), null, escapeName(aTable.getTableName()),
            null, false);//from  ww  w . j  a v  a2  s  .co  m
    //tab.setName(escapeName(aTable.getTableName()));
    //tab.setSchema(escapeName(aTable.getSchemaName()));
    mappings.addTableBinding(aTable.getSchemaName(), null, aTable.getTableName(), aTable.getTableName(), null);

    RootClass clazz = new RootClass();
    clazz.setEntityName(aTable.getActualEntityName());
    clazz.setJpaEntityName(aTable.getActualEntityName());
    if (aTable.getJavaClass() != null) {
        clazz.setClassName(aTable.getJavaClass());
        clazz.setProxyInterfaceName(aTable.getJavaClass());
    }
    clazz.setLazy(LAZY);
    clazz.setTable(tab);
    //clazz.setNodeName(aTable.getTableName());

    List<com.manydesigns.portofino.model.database.Column> columnList = new ArrayList<com.manydesigns.portofino.model.database.Column>();

    for (com.manydesigns.portofino.model.database.Column modelColumn : aTable.getColumns()) {
        int jdbcType = modelColumn.getJdbcType();
        Class javaType = modelColumn.getActualJavaType();

        //First param = null ==> doesn't really set anything, just check
        boolean hibernateTypeOk = setHibernateType(null, modelColumn, javaType, jdbcType);
        if (hibernateTypeOk) {
            columnList.add(modelColumn);
        } else {
            logger.error(
                    "Cannot find Hibernate type for table: {}, column: {}, jdbc type: {}, type name: {}. Skipping column.",
                    new Object[] { aTable.getQualifiedName(), modelColumn.getColumnName(), jdbcType,
                            javaType != null ? javaType.getName() : null });
        }
    }

    //Primary keys
    List<com.manydesigns.portofino.model.database.Column> columnPKList = aTable.getPrimaryKey().getColumns();

    if (!columnList.containsAll(columnPKList)) {
        logger.error("Primary key refers to some invalid columns, skipping table {}",
                aTable.getQualifiedName());
        return null;
    }

    if (columnPKList.size() > 1) {
        createPKComposite(mappings, aTable, aTable.getPrimaryKey().getPrimaryKeyName(), clazz, tab,
                columnPKList);
    } else {
        createPKSingle(mappings, aTable, aTable.getPrimaryKey().getPrimaryKeyName(), clazz, tab, columnPKList);
    }

    //Other columns
    columnList.removeAll(columnPKList);

    for (com.manydesigns.portofino.model.database.Column column : columnList) {
        Column col = createColumn(mappings, tab, column);
        if (col != null) {
            clazz.addProperty(createProperty(column, col.getValue()));
        }
    }

    return clazz;
}