OPssss!!!! Ok, ok...
Version Hibernate: 2.0.2
SGDB: Oracle 8.1.7
The mapping files are:
Code:
<!-- User -->
<hibernate-mapping>
<class name="User" table="user">
<id name="cpf" column="cpf">
<generator class="assigned"/>
</id>
<property name="name" column="nome"/>
<bag name="contactCompanies" table="empresa_x_contato" inverse="true" lazy="true">
<key column="cpf_contato"/>
<many-to-many class="Company" column="cnpj"/>
</bag>
<bag name="templates" table="perfil_x_usuario" inverse="true" lazy="false" cascade="save-update">
<key column="cpf"/>
<many-to-many class="Template" column="id_perfil"/>
</bag>
</class>
</hibernate-mapping>
<!-- Company -->
<hibernate-mapping>
<class name="Company" table="company">
<id name="cnpj" column="cnpj">
<generator class="assigned"/>
</id>
<property name="name" column="nome"/>
<bag name="templates" inverse="true" lazy="false">
<key column="cnpj"/>
<one-to-many class="Template"/>
</bag>
<bag name="companies" table="empresa_x_empresa" inverse="true" lazy="true">
<key column="cnpj"/>
<many-to-many class="Company" column="cnpj"/>
</bag>
<bag name="companyParents" table="empresa_x_empresa" inverse="true" lazy="false" cascade="save-update">
<key column="cnpj_pai"/>
<many-to-many class="Company" column="cnpj"/>
</bag>
<bag name="contactUsers" table="empresa_x_contato" inverse="true" lazy="false" cascade="save-update">
<key column="cnpj"/>
<many-to-many class="User" column="cpf_contato"/>
</bag>
</class>
</hibernate-mapping>
<!-- Template -->
<hibernate-mapping>
<class name="Template" table="template">
<id name="idTemplate" column="id_template">
<generator class="native">
<param name="sequence">seq_template</param>
</generator>
</id>
<property name="name" column="nome"/>
<many-to-one name="company" column="cnpj"
class="Company"/>
<bag name="users" table="perfil_x_usuario" inverse="true" lazy="true">
<key column="id_perfil"/>
<many-to-many class="User" column="cpf"/>
</bag>
<bag name="templates" inverse="true" lazy="true">
<key column="id_perfil_pai"/>
<one-to-many class="Template"/>
</bag>
</class>
</hibernate-mapping>
The relationship must be:
-An User can to have some Templates and the templates can to have
some Users.
-An User can to have some contactCompany (Company) and Company
can to have some contactUser (Company have some contact users)
-A Company can to have some companyParents (Matrix Company)
an can to have some branch offices (Object Company too).
I try to do this:
Code:
String query = "from User u";
session.createQuery(query);
And It occurs the following (debug eclipse):
Code:
e=PropertyAccessException
cause=NullPointerException
cause=PropertyAccessException
.
.
detailMessage="exception getting property value with CGLIB"
persistentClass=Class(Company)
propertyName="?"
stackTrace=null
I didn