Frans,

You will probably be better off doing a community poll as to users mapping 
preferences and building LLBGen pro around that poll. Fabio's option will 
probably be conform.  I myself like the xml.  Others are using FNH.  Let the 
rule of supply and demand drive your investment.

-Carlos

 

Practice makes perfect, but if no one is perfect, why practice?




> From: [email protected]
> To: [email protected]
> Subject: RE: [nhusers] Re: Friends, did you see this? A NH Designer!!!
> Date: Thu, 12 Aug 2010 18:51:09 +0200
> 
> > 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.
> 
                                          

-- 
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