> Same XML please.

        that's trivial if I define the model like you did in code.

> btw Frans, you product is a code generator I can't skip 42 slides because
in
> the early slides you are describing the domain relations and relational
> mapping...

        no, not the mapping, just the entities and the relationships. I
don't define any mapping in that video by hand, nor the DDL SQL. Mappings +
table stuff is created by 1 mouseclick using settings to configure what will
I end up with.

> would be the same than explain that you have a whole application running
> starting from "press F5".

        you wrote classes to start with, I didn't. The classes contain the
info used by confORM, I created a model, which produces classes + mappings +
DDL SQL, using very few keystrokes btw.

        But, like I said, let's not end up in a pissing contest :) Being in
a rush to get things done a.s.a.p. is never going to end well, so that's not
what people should focus on. It's about maintainability etc., and confORM
could be a good choice for that as well, I don't want to have that debate,
as it's besides the point. The point is: with all the options, is yet
another option from the team around NH really helping, or just confusing
users? 

        Also, is it or isn't it the future _preferred_ way of doing NH
mappings from the point of view of the NH team? (so others have to adapt to
confORM, and if they want support xml as well, but that's really not the way
to go)

                FB


> 
> 
> On Thu, Aug 12, 2010 at 1:11 PM, Frans Bouma <[email protected]> wrote:
> 
> 
> 
>       > Now that you saw something more about ConfORM I will happy if you
> can
>       answer
>       > my annoying question.
>       > Can you show me the equivalent-mapping/procedure using what ever
> you want
>       ?
> 
> 
>              (it's an old video of the alpha build, I'll soon make a new,
> more
>       extensive one with quickmodel and NH. It's for our own framework,
but
>       choosing NH is 2 clicks)
> 
> 
>
http://www.xs4all.nl/~perseus/LLBLGenPro/Videos/LLBLGenProv3.0_QuickM
> odel.ht
>       ml
>
<http://www.xs4all.nl/~perseus/LLBLGenPro/Videos/LLBLGenProv3.0_QuickModel.h
> t ml>
> 
>              skip to slide 42, press play
> 
>              I know, you start with code, I with the model, same thing.
> 
>                      FB
> 
> 
>       >
>       > Thanks.
>       >
>       >
>       > On Thu, Aug 12, 2010 at 12:34 PM, Fabio Maulo
> <[email protected]>
>       wrote:
>       >
>       >
>       >       On Thu, Aug 12, 2010 at 11:43 AM, Tom Allard
> <[email protected]>
>       > wrote:
>       >
>       >
>       >               "Make everything as simple as possible, but not
> simpler."
>       >               --  Albert Einstein
>       >
>       >
>       >
>       >
>       >       Sure.
>       >       For that reason this ConfORM mapping
>       >
>       >
>       >       var orm = new ObjectRelationalMapper();
>       >
>       >       orm.TablePerClass<Animal>();
>       >
>       >
>       >       orm.TablePerClass<User>();
>       >       orm.TablePerClass<StateProvince>();
>       >       orm.TablePerClassHierarchy<Zoo>();
>       >
>       >
>       >
>       >       orm.ManyToMany<Human, Human>();
>       >       orm.OneToOne<User, Human>();
>       >
>       >
>       >
>       >       orm.PoidStrategies.Add(new NativePoidPattern());
>       >       is equivalent to this XML mapping
>       >
>       >
>       >       <hibernate-mapping
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-
>       > instance"
>       >
>       >
>       >
xmlns:xsd="http://www.w3.org/2001/XMLSchema";
>       >
>       >
>       >                        namespace="ConfOrmExample.Domain"
>       >                        assembly="ConfOrmExample"
>       >
>       >
>       >                        xmlns="urn:nhibernate-mapping-2.2">
>       >         <class name="User">
>       >
>       >
>       >             <id name="Id" type="Int64">
>       >
>       >
>       >                 <generator class="native" />
>       >
>       >
>       >             </id>
>       >             <property name="UserName" />
>       >
>       >
>       >             <one-to-one name="Human" />
>       >
>       >
>       >             <list name="Permissions">
>       >
>       >
>       >                 <key column="user_key" />
>       >
>       >
>       >                 <list-index />
>       >                 <element type="String" />
>       >
>       >
>       >             </list>
>       >         </class>
>       >         <class name="Animal">
>       >
>       >
>       >             <id name="Id" type="Int64">
>       >
>       >
>       >                 <generator class="native" />
>       >
>       >
>       >             </id>
>       >             <property name="BodyWeight" />
>       >
>       >
>       >             <set name="Offspring" inverse="true"
> cascade="all,delete-
>       > orphan">
>       >
>       >
>       >                 <key column="Mother" />
>       >
>       >
>       >                 <one-to-many class="Animal" />
>       >
>       >
>       >             </set>
>       >             <many-to-one name="Mother" cascade="all" />
>       >
>       >
>       >             <many-to-one name="Father" cascade="all" />
>       >
>       >
>       >             <property name="Description" />
>       >
>       >
>       >             <many-to-one name="Zoo" />
>       >
>       >
>       >             <property name="SerialNumber" />
>       >
>       >
>       >         </class>
>       >         <class name="StateProvince">
>       >
>       >
>       >             <id name="Id" type="Int64">
>       >
>       >
>       >                 <generator class="native" />
>       >
>       >
>       >             </id>
>       >             <property name="Name" />
>       >
>       >
>       >             <property name="IsoCode" />
>       >
>       >
>       >         </class>
>       >         <class name="Zoo">
>       >
>       >
>       >             <id name="Id" type="Int64">
>       >
>       >
>       >                 <generator class="native" />
>       >
>       >
>       >             </id>
>       >             <discriminator />
>       >             <property name="Name" />
>       >
>       >
>       >             <property name="Classification" />
>       >
>       >
>       >             <map name="Animals" inverse="true">
>       >
>       >
>       >                 <key column="Zoo" />
>       >
>       >
>       >                 <map-key type="String" />
>       >
>       >
>       >                 <one-to-many class="Animal" />
>       >
>       >
>       >             </map>
>       >             <map name="Mammals" inverse="true">
>       >
>       >
>       >                 <key column="Zoo" />
>       >
>       >
>       >                 <map-key type="String" />
>       >
>       >
>       >                 <one-to-many class="Mammal" />
>       >
>       >
>       >             </map>
>       >             <component class="Address" name="Address">
>       >
>       >
>       >                 <property name="Street" />
>       >
>       >
>       >                 <property name="City" />
>       >
>       >
>       >                 <property name="PostalCode" />
>       >
>       >
>       >                 <property name="Country" />
>       >
>       >
>       >                 <many-to-one name="StateProvince" />
>       >
>       >
>       >             </component>
>       >         </class>
>       >         <joined-subclass name="Mammal" extends="Animal">
>       >
>       >
>       >             <key column="animal_key" />
>       >
>       >
>       >             <property name="Pregnant" />
>       >
>       >
>       >             <property name="Birthdate" />
>       >
>       >
>       >         </joined-subclass>
>       >         <joined-subclass name="DomesticAnimal" extends="Mammal">
>       >
>       >
>       >             <key column="mammal_key" />
>       >
>       >
>       >             <many-to-one name="Owner" cascade="all" />
>       >
>       >
>       >         </joined-subclass>
>       >         <joined-subclass name="Cat" extends="DomesticAnimal">
>       >
>       >
>       >             <key column="domesticanimal_key" />
>       >
>       >
>       >         </joined-subclass>
>       >         <joined-subclass name="Dog" extends="DomesticAnimal">
>       >
>       >
>       >             <key column="domesticanimal_key" />
>       >
>       >
>       >         </joined-subclass>
>       >         <joined-subclass name="Reptile" extends="Animal">
>       >
>       >
>       >             <key column="animal_key" />
>       >
>       >
>       >             <property name="BodyTemperature" />
>       >
>       >
>       >         </joined-subclass>
>       >         <joined-subclass name="Lizard" extends="Reptile">
>       >
>       >
>       >             <key column="reptile_key" />
>       >
>       >
>       >         </joined-subclass>
>       >         <subclass name="PettingZoo" extends="Zoo" />
>       >
>       >
>       >         <joined-subclass name="Human" extends="Mammal">
>       >
>       >
>       >             <key column="mammal_key" />
>       >
>       >
>       >             <component class="Name" name="Name">
>       >
>       >
>       >                 <property name="First" />
>       >
>       >
>       >                 <property name="Initial" />
>       >
>       >
>       >                 <property name="Last" />
>       >
>       >
>       >             </component>
>       >             <property name="NickName" />
>       >
>       >
>       >             <bag name="Friends" cascade="all,delete-orphan">
>       >
>       >
>       >                 <key column="human_key" />
>       >
>       >
>       >                 <many-to-many class="Human" />
>       >
>       >
>       >             </bag>
>       >             <bag name="Pets" inverse="true" cascade="all,delete-
> orphan">
>       >
>       >
>       >                 <key column="Owner" />
>       >
>       >
>       >                 <one-to-many class="DomesticAnimal" />
>       >
>       >
>       >             </bag>
>       >             <map name="Family" cascade="all,delete-orphan">
>       >
>       >
>       >                 <key column="human_key" />
>       >
>       >
>       >                 <map-key type="String" />
>       >
>       >
>       >                 <many-to-many class="Human" />
>       >
>       >
>       >             </map>
>       >             <property name="Height" />
>       >
>       >
>       >             <property name="BigIntegerValue" />
>       >
>       >
>       >             <property name="BigDecimalValue" />
>       >
>       >
>       >             <property name="IntValue" />
>       >
>       >
>       >             <property name="FloatValue" />
>       >
>       >
>       >             <set name="NickNames">
>       >
>       >                 <key column="human_key" />
>       >
>       >
>       >                 <element type="String" />
>       >
>       >
>       >             </set>
>       >             <map name="Addresses">
>       >
>       >
>       >                 <key column="human_key" />
>       >
>       >
>       >                 <map-key type="String" />
>       >
>       >
>       >                 <composite-element class="Address">
>       >
>       >
>       >                     <property name="Street" />
>       >
>       >
>       >                     <property name="City" />
>       >
>       >
>       >                     <property name="PostalCode" />
>       >
>       >
>       >                     <property name="Country" />
>       >
>       >
>       >                     <many-to-one name="StateProvince" />
>       >
>       >
>       >                 </composite-element>
>       >             </map>
>       >
>       >         </joined-subclass>
>       >
>       >       </hibernate-mapping>
>       >
>       >       Who wrote the XML mapping ?
>       >
>       >       --
>       >       Fabio Maulo
>       >
>       >
>       >
>       >
>       >
>       >
>       > --
>       > Fabio Maulo
>       >
>       >
>       >
> 
>       > --
> 
>       > You received this message because you are subscribed to the Google
> Groups
>       > "nhusers" group.
>       > To post to this group, send email to [email protected].
>       > To unsubscribe from this group, send email to
>       > [email protected]
> <mailto:nhusers%[email protected]> .
>       > For more options, visit this group at
>       > http://groups.google.com/group/nhusers?hl=en.
> 
> 
>       --
>       You received this message because you are subscribed to the Google
> Groups "nhusers" group.
>       To post to this group, send email to [email protected].
>       To unsubscribe from this group, send email to
> [email protected]
> <mailto:nhusers%[email protected]> .
>       For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.
> 
> 
> 
> 
> 
> 
> --
> Fabio Maulo
> 
> 
> 
> --
> You received this message because you are subscribed to the Google Groups
> "nhusers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/nhusers?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/nhusers?hl=en.

Reply via email to