In fact, SDO can have an open structure like XML, or sealed like POJO, 
depending on one of the type's meta infomation(called 'isOpen'). For short, SDO 
object's structure can be dynamic or static, and SDO objects' instances can 
also be accessed in dynamic or static way, and SDO has it's own way for 
reflection.....
but, well, I don't want to dive into the details of SDO concept here :p. 
 I just wanna to know if there is an easy way to customize Object's reflection 
, get/set, proxy mechanism  of hibernate for another structure support other 
than POJO/DOM4j/Dynamic-Map 
If You can image , or refer to official 
specification(dev2dev.bea.com/pub/a/2005/11/sdo.html) for a complete 
illustration.

----- Original Message ----- 
From: "Max Rydahl Andersen" <[EMAIL PROTECTED]>
To: "Eta Huang" <[EMAIL PROTECTED]>
Cc: <hibernate-dev@lists.jboss.org>
Sent: Thursday, October 12, 2006 3:21 PM
Subject: Re: [hibernate-dev] What is the easiest and safest way to customize 
Hiberate for other entity mode?



> Actually, SDO object is a common but special DTO object.

A DTO object normally has some structure; otherwise how do users know what  
to get from it ? :)

> It has some dynamic feature similiar to XML, what's more, it has no  
> static setter/getter method, so hibernate won't recognize it as a  
> JavaBean object
> dynamic-map mode in hibernate is good, but not enough, I'm not sure  
> whether it can support inheritance and relationship as good as POJO.

the lack of setter/getters is not a problem since we have both Tuplizer  
and PropertyAccessors to deal with this.

And the dynamic part is probably not something you want to reflect down to  
the persistence layer/db since then
you would end up having a schema layout of two tables Entities and  
Attributes which is rarely usefull.

I'm not up to speed with how a SDO actually looks like. Is it something  
like:

class Employee extends SDOObject {

    public String getName() {
       return getAttribute("name").asString();
    }

    public int getAge() {
       return getAttribute("age").asInt();
    }

    public Set getFriends() ..
}

or

SDOObject employee = new SDOObject("Employee);
employee.setAttribute("name", "Ed");
employee.setAttribute("age", 12);
employee.setCollection("friends", <set of other SDO's>)
?

The first one should be trivial to do

The second one is harder since it requires you to be explicit about what  
"type" the actual instance is.

/max

> ----- Original Message -----
> From: "Max Rydahl Andersen" <[EMAIL PROTECTED]>
> To: "Eta Huang" <[EMAIL PROTECTED]>
> Sent: Wednesday, October 11, 2006 4:48 PM
> Subject: Re: [hibernate-dev] What is the easiest and safest way to  
> customize Hiberate for other entity mode?
>
>
>> On Wed, 11 Oct 2006 04:10:56 +0200, Eta Huang <[EMAIL PROTECTED]>
>> wrote:
>>
>>> Hi all:
>>>    I'm developing SDO(Service Data Object) implementation, and when I
>>> wanna persist them Hibernate is the first one came to my mind. I tried
>>> it's dynamic-map mode, but that's not what i expected, I want to
>>> customize Hibernate to make it full SDO support. For the sake of  
>>> safety,
>>> the minimal classes needed to be overrided or changed, the better.
>>>    Any hibernate guru can show me the right way? very thankful!
>>
>> What are the problems you are forseeing with SDO's ?
>>
>> Could you sum up the differences there are between a JavaBean and SDO ?
>>
>> Is SDO's completely dynamic and has no fixed structure ?
>>
>> --
>> --
>> Max Rydahl Andersen
>> callto://max.rydahl.andersen
>>
>> Hibernate
>> [EMAIL PROTECTED]
>> http://hibernate.org
>>
>> JBoss a division of Red Hat
>> [EMAIL PROTECTED]
>>



-- 
--
Max Rydahl Andersen
callto://max.rydahl.andersen

Hibernate
[EMAIL PROTECTED]
http://hibernate.org

JBoss a division of Red Hat
[EMAIL PROTECTED]


_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to