Hi!
I had this mapping:
<class name="VisitaTerceiro" table="visitas_terceiros">
<composite-id>
<key-property name="visitaCodigo" column="vis_codigo" />
<key-many-to-one name="terceiro" column="ter_codigo"
class="Terceiro" />
<key-property name="tipo" />
</composite-id>
<sql-insert check="none">
{ call prk_crm.store_doc_visita_terceiro (?, ?, ?) }
</sql-insert>
</class>
My table have unique key on (vis_codigo, ter_codigo, tipo) and a PK
(incremented though a sequence) on column codigo. The procedure
store_doc_visita_terceiro is responsible to fill the PK.
This is used on a set (with one-to-many) in another class. But with this
mapping, when store_doc_visita_terceiro is called the composite-id
members are uninitialized.
To make it work, I had to change the mapping using:
<composite-id name="id" class="VisitaTerceiro$Id">
As you see, this make my class very ugly. Without use a name="id",
Hibernate considers it a "virtual" property causing the uninitialized
members. Why this happen? Is there any better solution?
Another problem I had was when I was using <key-many-to-one
name="visita" column="vis_codigo" class="Visita" /> instead of
"visitaCodigo". This is the column that links the master table with the
set. With it, Hibernate enters in infinite recursion and JVM just dies.
Is it a Hibernate bug?
I'm using Hibernate 3.3.
Thanks,
Adriano
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
hibernate-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel