[hibernate-users] is it possible to map attribute to custom resolvers?

Jaime Hablutzel Egoavil hablutzel1 at gmail.com
Tue Feb 16 10:26:32 EST 2010


I know it has to be a really basic hibernate question, well, my problem is
that I have a pojo like this one:

class Pojo {

Integer id;
TypeA foo;
TypeB zas;
... getters and setters....


}

class TypeA {

Integer id;
String description;
... getters and setters....

}


class TypeB {

Integer id;
String description;
... getters and setters....

}


and I have two mappings:


<hibernate-mapping >
    <class name="Pojo"
        table="pojo_table">

        <id column="pojo_id" name="id" type="int"
            unsaved-value="0">
            <generator class="native" />
        </id>

        <property name="foo" class="TypeA" column="pojo_foo" />

        <property name="zas" class="TypeB" column="pojo_zas" />

    </class>

    <class name="TypeA"
        table="typea_table">

        <id column="typea_id" name="id" type="int"
            unsaved-value="0">
            <generator class="native" />
        </id>

        <property name="description" class="string" column="description" />

    </class>

</hibernate-mapping>

But as you can see there is no TypeB mapping, because this value is being
set in the service layer by a web service query, but I just want to persist
the id of the returned object (TypeB). thus I want something like to
transform cell values for TypeB (the id) and the object itself.



public class TypeBResolver{

public Integer getAsCellValue() {
    TypeB d = (TypeB) getValue();
    if (d == null) {
        return null;
    }
    return d.getId();
}

public TypeB resolvCellValueForPojo(Integer s) {
if (s != null) {

return typeBService.getB(s);

} else {return null}

}


-- 
Jaime Hablutzel

(tildes omitidas intencionalmente)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/hibernate-users/attachments/20100216/dd4028af/attachment.html 


More information about the hibernate-users mailing list