[Hibernate-JIRA] Commented: (ANN-361) HA takes metadata from IdClass rather than the entity itself
by Thomas Risberg (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/ANN-361?page=co... ]
Thomas Risberg commented on ANN-361:
------------------------------------
Just a follow-up on this. If I use orm.xml - how would I specify the column names on the @IdClass? I can't find a corresponding xml entry for this id class - there is an <id--class> on the entity side, but nothing on the actual id class side - am I missing something? The only solution I found was to make the id class embeddable, but that seems like a workaround rather than the solution.
> HA takes metadata from IdClass rather than the entity itself
> ------------------------------------------------------------
>
> Key: ANN-361
> URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-361
> Project: Hibernate Annotations
> Type: Bug
> Versions: 3.2.0.cr1
> Reporter: Thomas Risberg
>
>
> When using a composit key and specifying name of id column - the specified name is ignored and a column with the name of the field is generated.
> This:
> -------------
> import java.io.Serializable;
> public class ProductItemPK implements Serializable {
> private Long productId;
> private Long itemId;
> }
> -------------
> import javax.persistence.*;
> @Entity
> @IdClass(value=ProductItemPK.class)
> public class ProductItem {
> @Id
> @Column(name="product_id")
> private Long productId;
> @Id
> @Column(name="item_id")
> private Long itemId;
> private String name;
> }
> -------------
> results in:
> create table ProductItem (
> productId number(19,0) not null,
> itemId number(19,0) not null,
> name varchar2(255 char),
> primary key (productId, itemId)
> )
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
18 years, 11 months
[Hibernate-JIRA] Created: (HHH-2196) Cryptic exception when xml mapping is missing incomplete - needs better error message
by Don Smith (JIRA)
Cryptic exception when xml mapping is missing incomplete - needs better error message
-------------------------------------------------------------------------------------
Key: HHH-2196
URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2196
Project: Hibernate3
Type: Bug
Components: core
Versions: 3.2.0.ga
Environment: Hibernate 3.0.2.ga, MySQL 5.0.22, with 5.0.3 JDBC driver
Reporter: Don Smith
Mapings with composite-ids mapped to classes require a node attribute, and a corresponding "wrapping" node in the xml data file. I learned this by educated guess when I saw this stack trace:
org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned before calling save(): com.novell.soa.af.impl.persist.ProvisioningStatus
at org.hibernate.id.Assigned.generate(Assigned.java:33)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523)
at com.novell.soa.persist.HibernateDAO.loadData(HibernateDAO.java:294)
at com.novell.soa.persist.HibernateUtilTest.testLoadData(HibernateUtilTest.java:100)
... 23 more
The class has this for the composite-id:
<hibernate-mapping>
<class name="com.novell.soa.af.impl.persist.ProvisioningStatus" table="AFPROVISIONINGSTATUS" node="AFPROVISIONINGSTATUS">
<composite-id name="id" class="com.novell.soa.af.impl.persist.ProvisioningStatusId">
<key-property name="requestId" column="REQUESTID" node="REQUESTID" type="string" length="32"/>
<key-property name="activityId" column="ACTIVITYID" node="ACTIVITYID" type="string" length="32"/>
<key-property name="statusId" column="STATUSID" node="STATUSID" type="string" length="32"/>
</composite-id>
The data has this structure:
<AFPROVISIONINGSTATUS>
<REQUESTID>1f24163a7de94a0e93eda2df92dad236</REQUESTID>
<ACTIVITYID>prov</ACTIVITYID>
<STATUSID>XXX</STATUSID>
<RECIPIENT>cn=apalani,ou=users,ou=idmsample-js,o=novell</RECIPIENT>
<CORRELATIONID></CORRELATIONID>
<PROVISIONINGTIME>2006-06-30 13:00:17.0</PROVISIONINGTIME>
<RESULTTIME></RESULTTIME>
<STATE>-1</STATE>
<STATUS>-1</STATUS>
<MESSAGE></MESSAGE>
<VERSION>0</VERSION>
</AFPROVISIONINGSTATUS>
After adding an node="ID" attribute to the composite-id element, and adding <ID> elements wrapping the three key nodes, the xml mapping worked:
<hibernate-mapping>
<class name="com.novell.soa.af.impl.persist.ProvisioningStatus" table="AFPROVISIONINGSTATUS" node="AFPROVISIONINGSTATUS">
<composite-id name="id" class="com.novell.soa.af.impl.persist.ProvisioningStatusId" node="ID">
<key-property name="requestId" column="REQUESTID" node="REQUESTID" type="string" length="32"/>
<key-property name="activityId" column="ACTIVITYID" node="ACTIVITYID" type="string" length="32"/>
<key-property name="statusId" column="STATUSID" node="STATUSID" type="string" length="32"/>
</composite-id>
<AFPROVISIONINGSTATUS>
<ID>
<REQUESTID>1f24163a7de94a0e93eda2df92dad236</REQUESTID>
<ACTIVITYID>prov</ACTIVITYID>
<STATUSID>XXX</STATUSID>
</ID>
<RECIPIENT>cn=apalani,ou=users,ou=idmsample-js,o=novell</RECIPIENT>
<CORRELATIONID></CORRELATIONID>
<PROVISIONINGTIME>2006-06-30 13:00:17.0</PROVISIONINGTIME>
<RESULTTIME></RESULTTIME>
<STATE>-1</STATE>
<STATUS>-1</STATUS>
<MESSAGE></MESSAGE>
<VERSION>0</VERSION>
</AFPROVISIONINGSTATUS>
There should be a better error message.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
18 years, 11 months
[Hibernate-JIRA] Created: (HBX-751) problems with db-objects named "abc$ta_tab"
by Ronny Riedel (JIRA)
problems with db-objects named "abc$ta_tab"
-------------------------------------------
Key: HBX-751
URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-751
Project: Hibernate Tools
Type: Bug
Components: middlegenplugin, hbm2java
Versions: 3.2beta7
Environment: SuSE Linux Enterprise Server 9
Hibernate 3.1.3
Hibernate Tools 3.2 beta 7
Oracle 9.2.0.6
Reporter: Ronny Riedel
Problem
-------
I have e.g. 2 tables in my oracle-db: "PDC$TA_ITEM" and "PDC$TA_STATUS", with a foreign key references from "PDC$TA_ITEM" to "PDC$TA_STATUS". In my build.xml-File, I specified
<jdbcconfiguration packagename="com.foo.bar" />
The with hbm2hbmxml generated hbm.xml-Files named "pdc$taItem.hbm.xml" and "pdc$taStatus.hbm.xml". Because of the reference, the file "pdc$taItem.hbm.xml" contains amongst others following code:
<many-to-one name="taStatus" class="com.foo.bar.pdc.taStatus">
<column name="STATUS_ID" />
</many-to-one>
Because i have a little bit notion of hbm.xml-files, i recognized, that com.foo.bar.pdc.taStatus are wrong. So I changed it to com.foo.bar.pdc$taStatus by hand, the spelling I know from middlegen for hibernate and run hbm2java. The ant-task generated all java-classes without errors. But when i opened the java-files with eclipse, I noticed that hbm2java genereted the following code in "taItem":
import com.foo.bar.pdc.taStatus;
When I change these to "import com.foo.bar.taStatus;, everything was fine in eclipse. But til now I had no opportunity presented itself for real-testing the generated javacode.
Summary
-------
In my mind as long as the names of the db-tables are valid JavaNames, they shouldn't be changed. If the names aren't valid JavaNames, throw an error while reverse engineering like "object name xyz is not a valid javaname. you have to specify a valid javaname in the hibernate.reveng.xml-file for these object."
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
18 years, 11 months
[Hibernate-JIRA] Created: (HBX-793) Inherited meta attributes are totally broken
by Rob Jellinghaus (JIRA)
Inherited meta attributes are totally broken
--------------------------------------------
Key: HBX-793
URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-793
Project: Hibernate Tools
Type: Bug
Components: hbm2java
Versions: 3.2beta8
Environment: Hibernate 3.2.0cr8, Hibernate Tools 3.2.0cr8
Reporter: Rob Jellinghaus
Inherited / overridden meta attributes are totally broken.
By "totally broken" I mean that they are essentially concatenated in the output template, rather than being overridden properly.
There is already an existing bug http://opensource.atlassian.com/projects/hibernate/browse/HBX-621 that is one manifestation of this underlying problem for <meta attribute="scope-get"> and <meta attribute="scope-get">. The exact same bug reappears for <meta attribute="generated-class">.
Here is an example that shows the bug appearing in both attributes. The following mapping (simplified):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping default-lazy="false">
<class name="com.nimblefish.core.domain.useraccesscontrol.Permission" table="permission">
<meta attribute="generated-class">com.nimblefish.core.domain.generated.PermissionGen</meta>
<id column="id" name="id" type="long" unsaved-value="null">
<meta attribute="use-in-tostring">true</meta>
<generator class="native"/>
</id>
<!-- other properties deleted -->
<joined-subclass name="com.nimblefish.core.domain.useraccesscontrol.Role"table="role">
<meta attribute="generated-class">com.nimblefish.core.domain.generated.RoleGen</meta>
<meta attribute="scope-set">protected</meta>
<key column="id" foreign-key="fk_role_sub_permission"/>
<set name="grantedPermissions" inverse="true" table="role_to_granted_permission">
<meta attribute="scope-set">public</meta>
<key column="role_id" foreign-key="fk_granted_permission_role"/>
<many-to-many class="com.nimblefish.core.domain.useraccesscontrol.Permission" column="permission_id" foreign-key="fk_role_granted_permission"/>
</set>
<!-- other properties deleted -->
</joined-subclass>
</class>
</hibernate-mapping>
Produces the following class, in the directory <out-dir>/PermissionGencom/nimblefish/core/domain/generated/RoleGen.java (that is NOT a typo):
package com.nimblefish.core.domain.generated.PermissionGencom.nimblefish.core.domain.generated;
// Generated Oct 27, 2006 9:58:57 PM by Hibernate Tools 3.2.0.beta8
import com.nimblefish.core.domain.useraccesscontrol.TargetObjectContainer;
import java.util.HashSet;
import java.util.Set;
/**
* RoleGen generated by hbm2java
*/
public class RoleGen extends com.nimblefish.core.domain.useraccesscontrol.Permission implements java.io.Serializable {
// Fields
// fields deleted
protectedpublic void setGrantedPermissions(Set grantedPermissions) {
this.grantedPermissions = grantedPermissions;
}
}
You can see that:
1) The filename contains the CONCATENATION of the meta attributes and superclass name.
2) The package declaration contains the exact same conctatenation.
3) The scope of the setGrantedPermissions method contains the CONCATENATION of the scope-set values.
I strongly believe that the root bug is related to the following method in org.hibernate.tool.hbm2x.MetaAttributeHelper.java:
public static String getMetaAsString(org.hibernate.mapping.MetaAttribute c) {
return c==null?"":getMetaAsString(c.getValues() );
}
I don't know exactly what the collection of values of a MetaAttribute is, but I am fairly convinced that it is the sequence of values defined up the inheritance chain. And I am *quite* sure that getMetaAsString(Collection meta, String separator) concatenates all the meta values together, which is exactly the behavior that is causing all these bugs.
Hibernate Tools can't go to 3.2.0GA until these issues are fixed. I will be getting the code from Subversion and patching it myself (hackishly) on Sunday; I'll upload details of my fix then, along with a better test case in a properly runnable self-contained zip.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
18 years, 11 months
[Hibernate-JIRA] Closed: (HBX-621) meta attribute of scope-get/set & inherit bug
by Max Rydahl Andersen (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HBX-621?page=all ]
Max Rydahl Andersen closed HBX-621:
-----------------------------------
Resolution: Fixed
fixed - requires Hibernate Core 3.2.1
> meta attribute of scope-get/set & inherit bug
> ---------------------------------------------
>
> Key: HBX-621
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HBX-621
> Project: Hibernate Tools
> Type: Bug
> Versions: 3.1beta4
> Environment: Hiberante 3.1.2
> Hibernate Tools 3.1 beta 4
> Reporter: Neil Buesing
> Fix For: 3.2beta9
>
>
> An inhertiable class level meta attribute of scope-get and scope-set cannot be overridden within a property. Instead some string concat is being applied. This is different behavior than with hibernate tools 2.1.3 and it is a potential bug (or at least a change of behavior).
> Hibernate 3 Mapping File
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
> <hibernate-mapping package="com.hibernate">
> <class mutable="true" lazy="false" name="com.hibernate.Test" table="TEST">
> <meta attribute="scope-get">private</meta>
> <meta attribute="scope-set">private</meta>
> <id name="id" column="ID" type="long">
> <generator class="assigned" />
> </id>
> <property name="col1" column="COL1" type="java.lang.String">
> <meta attribute="scope-get">public</meta>
> </property>
> <property name="col2" column="COL2" type="java.lang.String">
> <meta attribute="scope-set"></meta>
> <meta attribute="scope-get">public</meta>
> </property>
> <property name="col3" column="COL3" type="java.lang.String">
> </property>
> <property name="col4" column="COL4" type="java.lang.String">
> </property>
> </class>
> </hibernate-mapping>
> Hibernate 3 Generated File
> package com.hibernate;
> // Generated Mar 16, 2006 10:00:19 AM by Hibernate Tools 3.1.0.beta4
> /**
> * Test generated by hbm2java
> */
> public class Test implements java.io.Serializable {
> // Fields
> private long id;
> private String col1;
> private String col2;
> private String col3;
> private String col4;
> // Constructors
> /** default constructor */
> public Test() {
> }
> /** minimal constructor */
> public Test(long id) {
> this.id = id;
> }
>
> /** full constructor */
> public Test(long id, String col1, String col2, String col3, String col4) {
> this.id = id;
> this.col1 = col1;
> this.col2 = col2;
> this.col3 = col3;
> this.col4 = col4;
> }
>
> // Property accessors
> privatepublicpublic long getId() {
> return this.id;
> }
>
> private void setId(long id) {
> this.id = id;
> }
> privatepublicpublic String getCol1() {
> return this.col1;
> }
>
> private void setCol1(String col1) {
> this.col1 = col1;
> }
> privatepublicpublic String getCol2() {
> return this.col2;
> }
>
> private void setCol2(String col2) {
> this.col2 = col2;
> }
> privatepublicpublic String getCol3() {
> return this.col3;
> }
>
> private void setCol3(String col3) {
> this.col3 = col3;
> }
> privatepublicpublic String getCol4() {
> return this.col4;
> }
>
> private void setCol4(String col4) {
> this.col4 = col4;
> }
> }
> Hibernate 2 Mapping File
> <?xml version="1.0" encoding="UTF-8"?>
> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN"
> "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
> <hibernate-mapping package="com.hibernate">
> <class mutable="true" lazy="false" name="com.hibernate.Test" table="TEST">
> <meta attribute="scope-get">private</meta>
> <meta attribute="scope-set">private</meta>
> <id name="id" column="ID" type="long">
> <generator class="assigned" />
> </id>
> <property name="col1" column="COL1" type="java.lang.String">
> <meta attribute="scope-get">public</meta>
> </property>
> <property name="col2" column="COL2" type="java.lang.String">
> <meta attribute="scope-set"></meta>
> <meta attribute="scope-get">public</meta>
> </property>
> <property name="col3" column="COL3" type="java.lang.String">
> </property>
> <property name="col4" column="COL4" type="java.lang.String">
> </property>
> </class>
> </hibernate-mapping>
> Hibernate 2 Generated File
> package com.hibernate;
> import java.io.Serializable;
> import org.apache.commons.lang.builder.ToStringBuilder;
> /** @author Hibernate CodeGenerator */
> public class Test implements Serializable {
> /** identifier field */
> private Long id;
> /** nullable persistent field */
> private String col1;
> /** nullable persistent field */
> private String col2;
> /** nullable persistent field */
> private String col3;
> /** nullable persistent field */
> private String col4;
> /** full constructor */
> public Test(Long id, String col1, String col2, String col3, String col4) {
> this.id = id;
> this.col1 = col1;
> this.col2 = col2;
> this.col3 = col3;
> this.col4 = col4;
> }
> /** default constructor */
> public Test() {
> }
> /** minimal constructor */
> public Test(Long id) {
> this.id = id;
> }
> private Long getId() {
> return this.id;
> }
> private void setId(Long id) {
> this.id = id;
> }
> public String getCol1() {
> return this.col1;
> }
> private void setCol1(String col1) {
> this.col1 = col1;
> }
> public String getCol2() {
> return this.col2;
> }
> void setCol2(String col2) {
> this.col2 = col2;
> }
> private String getCol3() {
> return this.col3;
> }
> private void setCol3(String col3) {
> this.col3 = col3;
> }
> private String getCol4() {
> return this.col4;
> }
> private void setCol4(String col4) {
> this.col4 = col4;
> }
> public String toString() {
> return new ToStringBuilder(this)
> .append("id", getId())
> .toString();
> }
> }
> see also forum topic http://forum.hibernate.org/viewtopic.php?t=956894#2296725
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
18 years, 11 months
[Hibernate-JIRA] Commented: (HHH-1895) HqlSqlWalker throws NullPointerException with explicit joins and component mapping
by Arcadius (JIRA)
[ http://opensource.atlassian.com/projects/hibernate/browse/HHH-1895?page=c... ]
Arcadius commented on HHH-1895:
-------------------------------
Hi!
I'm having this same issue on Oracle 10.
Thanks.
> HqlSqlWalker throws NullPointerException with explicit joins and component mapping
> ----------------------------------------------------------------------------------
>
> Key: HHH-1895
> URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-1895
> Project: Hibernate3
> Type: Bug
> Versions: 3.1.3
> Environment: Oracle 9i, Hibernate 3.1.3
> Reporter: Victor Suarez
> Priority: Minor
>
>
> HqlSqlWalker throws a NPE if a explicit join is used with fields that are mapped with component mapping. If explicit join is removed and implicit join is used, the HQL works fine. This kind of problem didn't occur with Hibernate2.
> Examples (hbm below):
> The query:
> String query = "FROM " + Pais.class.getName() + " AS pais JOIN pais.metaInfo AS minfo WHERE minfo.activo = true";
> fails with this stacktrace:
> Exception in thread "main" java.lang.NullPointerException
> at org.hibernate.hql.ast.HqlSqlWalker.createFromJoinElement(HqlSqlWalker.java:317)
> at org.hibernate.hql.antlr.HqlSqlBaseWalker.joinElement(HqlSqlBaseWalker.java:3268)
> at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3060)
> at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2938)
> at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
> at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
> at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
> at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
> at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:218)
> at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:158)
> at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:109)
> at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:75)
> at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:54)
> at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:71)
> at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
> at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
> at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1583)
> This one works fine:
> String query = "FROM " + Pais.class.getName() + " AS pais WHERE pais.metaInfo.activo = true";
> With this behaviour, HQL seems not to be totally transparent to mappings.
> Mapping file:
> <hibernate-mapping>
> <class name="Pais" table="Paises" lazy="true">
> <id name="id" type="long" column="id">
> <generator class="increment"/>
> </id>
> <component name="metaInfo" class="MetaInfo">
> <property name="usuarioAlta" column="usuarioAltaMetaInfo" type="string" not-null="false"/>
> <property name="fechaBaja" column="fechaBajaMetaInfo" type="timestamp" not-null="false"/>
> <property name="fechaAlta" column="fechaAltaMetaInfo" type="timestamp" not-null="false"/>
> <property name="activo" column="activoMetaInfo" type="boolean" not-null="false"/>
> <property name="usuarioBaja" column="usuarioBajaMetaInfo" type="string" not-null="false"/>
> </component>
> <property name="nombre" column="nombre" type="string" not-null="true"/>
> <property name="codigo" column="codigo" type="string" not-null="false"/>
>
> <set name="localidades" access="field" inverse="true"
> cascade="all-delete-orphan" lazy="true" batch-size="5">
> <key column="pais" />
> <one-to-many class="Localidad"/>
> </set>
> <set name="provincias" access="field" inverse="true"
> cascade="all-delete-orphan" lazy="true" batch-size="5">
> <key column="pais" />
> <one-to-many class="Provincia"/>
> </set>
>
> <property name="codAS400" type="string" not-null="false"/>
> </class>
> </hibernate-mapping>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
18 years, 11 months