Java 类org.hibernate.type.OneToOneType 实例源码

项目:lams    文件:BinaryLogicOperatorNode.java   
private int getColumnSpan(Type type, SessionFactoryImplementor sfi) {
    int columnSpan = type.getColumnSpan( sfi );
    if ( columnSpan == 0 && type instanceof OneToOneType ) {
        columnSpan = ( (OneToOneType) type ).getIdentifierOrUniqueKeyType( sfi ).getColumnSpan( sfi );
    }
    return columnSpan;
}
项目:helium    文件:EntityParser.java   
@SuppressWarnings("rawtypes")
public String extractColumnValues(){
    StringBuffer sb = new StringBuffer();
    //add the pk column and value
    sb.append(extractPrimaryKeyColumn() + " = " + extractPrimaryKeyValue() + " | ");
    //loop through all the other properties and get what you need
    for (String p: properties){
        Property pr = pc.getProperty(p);

        //make sure that this is not a collection and not a one to one as these values are not part of the table
        if (!pr.getType().isCollectionType() && !(pr.getType() instanceof OneToOneType)) {
            //make sure that the values are persistent values and not a forumla value
            if (pr.isInsertable() || pr.isUpdateable()) {
                int scale = 2;
                //get the getter for the entity
                Getter getter = pr.getGetter(entity.getClass());
                //get column value
                Object columnValue = getter.get(entity);
                //get column name
                for (Iterator it3 = pr.getColumnIterator(); it3.hasNext();) {
                    Column column = (Column)it3.next();
                    sb.append(column.getName());
                    scale = column.getScale();
                }
                sb.append(" = ");
                //check what kind of type of value this is, it if it an association then get the forign key value from the associated entity
                if (columnValue != null) {
                    if (!pr.getType().isAssociationType()) {
                        //if bigD set Scale
                        if (columnValue instanceof BigDecimal) {
                            columnValue = ((BigDecimal)columnValue).setScale(scale,BigDecimal.ROUND_HALF_DOWN);
                        } else if (columnValue instanceof java.util.Date) {
                            SimpleDateFormat sdf = null;
                            if(columnValue instanceof java.sql.Timestamp){
                                sdf = new SimpleDateFormat(DATE_TIME_FORMAT);
                            }else{
                                sdf = new SimpleDateFormat(DATE_FORMAT);
                            }
                            columnValue = sdf.format(columnValue);
                        } else if (pr.getType().getName().equalsIgnoreCase("org.springframework.orm.hibernate3.support.ClobStringType")){
                            columnValue = "Clob Value";
                        }
                        sb.append(columnValue);
                    } else {
                        //since it's an association we know that column value is an object
                        String associatedEntityName = pr.getType().getName();
                        //associatedEntityName = ((EntityType)pr.getType()).getAssociatedEntityName ();
                        PersistentClass localPC = extractPersistentClass(associatedEntityName);
                        String fkValue = extractPrimaryKeyValue(localPC,columnValue);
                        sb.append(fkValue);
                    }
                }
                sb.append(" | ");
            }
        }
    }
    return sb.toString();
}