Skip to main content



      Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » [Teneo] comparison byte[] with Byte[]
[Teneo] comparison byte[] with Byte[] [message #98914] Wed, 10 October 2007 11:35 Go to next message
Eclipse UserFriend
Hi,

I am not sure if this can be solved at emf-teneo level or lies with
hibernate.
We have a binary attribute.
In emf core attribute type is EByteArray [byte[]] and in hibernate file
array has byte element type i.e. <element type="byte"/>.

Data is saved and retrieved fine.

But only thing is that when hibernate looks for changes it compares
btye[] with Byte[]. Though contents are same that result in treating it
as dirty i.e. org.hibernate.type.TypeFactory.findDirty() method compares
"currentState" as byte [ ] with "previousState" as Byte[ ].


So everytime data is loaded, this one is always marked dirty.

Is there some way around this?

Thanks.
- Parvez
Re: [Teneo] comparison byte[] with Byte[] [message #99048 is a reply to message #98914] Thu, 11 October 2007 03:05 Go to previous messageGo to next message
Eclipse UserFriend
Hi Parvez,
Just two ideas:
1) change the type used in emf (I am not sure if this is possible in your case, probably this is
something you already thought of)
2) create your own hibernate usertype which is used to persist this efeature. You can try to find
out which type is used by hibernate (subclass of org.hibernate.type.Type) and override that class
and its isDirty methods.
Your type can then be set in an annotation in the efeature (see hibernate typedef and type annotations).

gr. Martin

PC wrote:
> Hi,
>
> I am not sure if this can be solved at emf-teneo level or lies with
> hibernate.
> We have a binary attribute.
> In emf core attribute type is EByteArray [byte[]] and in hibernate file
> array has byte element type i.e. <element type="byte"/>.
>
> Data is saved and retrieved fine.
>
> But only thing is that when hibernate looks for changes it compares
> btye[] with Byte[]. Though contents are same that result in treating it
> as dirty i.e. org.hibernate.type.TypeFactory.findDirty() method compares
> "currentState" as byte [ ] with "previousState" as Byte[ ].
>
>
> So everytime data is loaded, this one is always marked dirty.
>
> Is there some way around this?
>
> Thanks.
> - Parvez


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Re: [Teneo] comparison byte[] with Byte[] [message #100355 is a reply to message #99048] Tue, 30 October 2007 13:40 Go to previous messageGo to next message
Eclipse UserFriend
Hi Martin,

That has been resolved by changing array to property i.e.

Earlier it was <array> </array> containing type as <element type="byte"/>

Now changed to property, which is working fine i.e.


<property name="data" lazy="false" insert="true" update="true"
not-null="true" unique="false" type="binary">
<column not-null="false" unique="false"
name="`librarydata_data_id`"/>
</property>

Thanks.
- Parvez

Martin Taal wrote:
> Hi Parvez,
> Just two ideas:
> 1) change the type used in emf (I am not sure if this is possible in
> your case, probably this is something you already thought of)
> 2) create your own hibernate usertype which is used to persist this
> efeature. You can try to find out which type is used by hibernate
> (subclass of org.hibernate.type.Type) and override that class and its
> isDirty methods.
> Your type can then be set in an annotation in the efeature (see
> hibernate typedef and type annotations).
>
> gr. Martin
>
> PC wrote:
>> Hi,
>>
>> I am not sure if this can be solved at emf-teneo level or lies with
>> hibernate.
>> We have a binary attribute.
>> In emf core attribute type is EByteArray [byte[]] and in hibernate
>> file array has byte element type i.e. <element type="byte"/>.
>>
>> Data is saved and retrieved fine.
>>
>> But only thing is that when hibernate looks for changes it compares
>> btye[] with Byte[]. Though contents are same that result in treating
>> it as dirty i.e. org.hibernate.type.TypeFactory.findDirty() method
>> compares "currentState" as byte [ ] with "previousState" as Byte[ ].
>>
>>
>> So everytime data is loaded, this one is always marked dirty.
>>
>> Is there some way around this?
>>
>> Thanks.
>> - Parvez
>
>
Re: [Teneo] comparison byte[] with Byte[] [message #100384 is a reply to message #100355] Wed, 31 October 2007 04:03 Go to previous message
Eclipse UserFriend
Hi Parvez,
Thanks for the update, good to know that this also works. I will consider this also as a mapping for
byte arrays (maybe driven by an option).

gr. Martin

PC wrote:
> Hi Martin,
>
> That has been resolved by changing array to property i.e.
>
> Earlier it was <array> </array> containing type as <element type="byte"/>
>
> Now changed to property, which is working fine i.e.
>
>
> <property name="data" lazy="false" insert="true" update="true"
> not-null="true" unique="false" type="binary">
> <column not-null="false" unique="false"
> name="`librarydata_data_id`"/>
> </property>
>
> Thanks.
> - Parvez
>
> Martin Taal wrote:
>> Hi Parvez,
>> Just two ideas:
>> 1) change the type used in emf (I am not sure if this is possible in
>> your case, probably this is something you already thought of)
>> 2) create your own hibernate usertype which is used to persist this
>> efeature. You can try to find out which type is used by hibernate
>> (subclass of org.hibernate.type.Type) and override that class and its
>> isDirty methods.
>> Your type can then be set in an annotation in the efeature (see
>> hibernate typedef and type annotations).
>>
>> gr. Martin
>>
>> PC wrote:
>>> Hi,
>>>
>>> I am not sure if this can be solved at emf-teneo level or lies with
>>> hibernate.
>>> We have a binary attribute.
>>> In emf core attribute type is EByteArray [byte[]] and in hibernate
>>> file array has byte element type i.e. <element type="byte"/>.
>>>
>>> Data is saved and retrieved fine.
>>>
>>> But only thing is that when hibernate looks for changes it compares
>>> btye[] with Byte[]. Though contents are same that result in treating
>>> it as dirty i.e. org.hibernate.type.TypeFactory.findDirty() method
>>> compares "currentState" as byte [ ] with "previousState" as Byte[ ].
>>>
>>>
>>> So everytime data is loaded, this one is always marked dirty.
>>>
>>> Is there some way around this?
>>>
>>> Thanks.
>>> - Parvez
>>
>>


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Re: [Teneo] comparison byte[] with Byte[] [message #609992 is a reply to message #98914] Thu, 11 October 2007 03:05 Go to previous message
Eclipse UserFriend
Hi Parvez,
Just two ideas:
1) change the type used in emf (I am not sure if this is possible in your case, probably this is
something you already thought of)
2) create your own hibernate usertype which is used to persist this efeature. You can try to find
out which type is used by hibernate (subclass of org.hibernate.type.Type) and override that class
and its isDirty methods.
Your type can then be set in an annotation in the efeature (see hibernate typedef and type annotations).

gr. Martin

PC wrote:
> Hi,
>
> I am not sure if this can be solved at emf-teneo level or lies with
> hibernate.
> We have a binary attribute.
> In emf core attribute type is EByteArray [byte[]] and in hibernate file
> array has byte element type i.e. <element type="byte"/>.
>
> Data is saved and retrieved fine.
>
> But only thing is that when hibernate looks for changes it compares
> btye[] with Byte[]. Though contents are same that result in treating it
> as dirty i.e. org.hibernate.type.TypeFactory.findDirty() method compares
> "currentState" as byte [ ] with "previousState" as Byte[ ].
>
>
> So everytime data is loaded, this one is always marked dirty.
>
> Is there some way around this?
>
> Thanks.
> - Parvez


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Re: [Teneo] comparison byte[] with Byte[] [message #610173 is a reply to message #99048] Tue, 30 October 2007 13:40 Go to previous message
Eclipse UserFriend
Hi Martin,

That has been resolved by changing array to property i.e.

Earlier it was <array> </array> containing type as <element type="byte"/>

Now changed to property, which is working fine i.e.


<property name="data" lazy="false" insert="true" update="true"
not-null="true" unique="false" type="binary">
<column not-null="false" unique="false"
name="`librarydata_data_id`"/>
</property>

Thanks.
- Parvez

Martin Taal wrote:
> Hi Parvez,
> Just two ideas:
> 1) change the type used in emf (I am not sure if this is possible in
> your case, probably this is something you already thought of)
> 2) create your own hibernate usertype which is used to persist this
> efeature. You can try to find out which type is used by hibernate
> (subclass of org.hibernate.type.Type) and override that class and its
> isDirty methods.
> Your type can then be set in an annotation in the efeature (see
> hibernate typedef and type annotations).
>
> gr. Martin
>
> PC wrote:
>> Hi,
>>
>> I am not sure if this can be solved at emf-teneo level or lies with
>> hibernate.
>> We have a binary attribute.
>> In emf core attribute type is EByteArray [byte[]] and in hibernate
>> file array has byte element type i.e. <element type="byte"/>.
>>
>> Data is saved and retrieved fine.
>>
>> But only thing is that when hibernate looks for changes it compares
>> btye[] with Byte[]. Though contents are same that result in treating
>> it as dirty i.e. org.hibernate.type.TypeFactory.findDirty() method
>> compares "currentState" as byte [ ] with "previousState" as Byte[ ].
>>
>>
>> So everytime data is loaded, this one is always marked dirty.
>>
>> Is there some way around this?
>>
>> Thanks.
>> - Parvez
>
>
Re: [Teneo] comparison byte[] with Byte[] [message #610177 is a reply to message #100355] Wed, 31 October 2007 04:03 Go to previous message
Eclipse UserFriend
Hi Parvez,
Thanks for the update, good to know that this also works. I will consider this also as a mapping for
byte arrays (maybe driven by an option).

gr. Martin

PC wrote:
> Hi Martin,
>
> That has been resolved by changing array to property i.e.
>
> Earlier it was <array> </array> containing type as <element type="byte"/>
>
> Now changed to property, which is working fine i.e.
>
>
> <property name="data" lazy="false" insert="true" update="true"
> not-null="true" unique="false" type="binary">
> <column not-null="false" unique="false"
> name="`librarydata_data_id`"/>
> </property>
>
> Thanks.
> - Parvez
>
> Martin Taal wrote:
>> Hi Parvez,
>> Just two ideas:
>> 1) change the type used in emf (I am not sure if this is possible in
>> your case, probably this is something you already thought of)
>> 2) create your own hibernate usertype which is used to persist this
>> efeature. You can try to find out which type is used by hibernate
>> (subclass of org.hibernate.type.Type) and override that class and its
>> isDirty methods.
>> Your type can then be set in an annotation in the efeature (see
>> hibernate typedef and type annotations).
>>
>> gr. Martin
>>
>> PC wrote:
>>> Hi,
>>>
>>> I am not sure if this can be solved at emf-teneo level or lies with
>>> hibernate.
>>> We have a binary attribute.
>>> In emf core attribute type is EByteArray [byte[]] and in hibernate
>>> file array has byte element type i.e. <element type="byte"/>.
>>>
>>> Data is saved and retrieved fine.
>>>
>>> But only thing is that when hibernate looks for changes it compares
>>> btye[] with Byte[]. Though contents are same that result in treating
>>> it as dirty i.e. org.hibernate.type.TypeFactory.findDirty() method
>>> compares "currentState" as byte [ ] with "previousState" as Byte[ ].
>>>
>>>
>>> So everytime data is loaded, this one is always marked dirty.
>>>
>>> Is there some way around this?
>>>
>>> Thanks.
>>> - Parvez
>>
>>


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Previous Topic:[Teneo]foreign key element in jdo not generated properly?
Next Topic:[Teneo]foreign key element in jdo not generated properly?
Goto Forum:
  


Current Time: Sun May 11 19:36:39 EDT 2025

Powered by FUDForum. Page generated in 0.04054 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top