No, I'm not ConfORM. I'm using MyGeneration. I'm learning NHibernate and English ;-).
Thanks for all of you. These advices will help me to implement the solution. And thanks for the english tips about IMO, OMG, LOL. On 4 mar, 23:35, Fabio Maulo <[email protected]> wrote: > LOL... I mean... > > Are you ConfORM ? > > 2010/3/4 Fabio Maulo <[email protected]> > > > Classes: > > public class Endereco > > { > > public int Id { get; set; } > > public string Rua { get; set; } > > public int Numero { get; set; } > > } > > public class Pessoa > > { > > public int Id { get; set; } > > > public Endereco Residencial { get; set; } > > public Endereco Comercial { get; set; } > > public Endereco Entrega { get; set; } > > public Endereco Correspondencia { get; set; } > > } > > > Mapping using ConfORM: > > public void MapDomain(ObjectRelationalMapper orm) > > { > > orm.TablePerClass<Pessoa>(); > > orm.TablePerClass<Endereco>(); > > orm.Cascade<Pessoa, Endereco>(Cascade.Persist | Cascade.Refresh | > > Cascade.Merge); > > } > > > Exporting ConfORM to XML: > > <hibernate-mapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > > namespace="TryConfORM.EvertonLucas" assembly="TryConfORM" > > xmlns="urn:nhibernate-mapping-2.2"> > > <class name="Pessoa"> > > <id name="Id" type="Int32"> > > <generator class="hilo" /> > > </id> > > <many-to-one name="Residencial" cascade="save-update, > > persist,refresh,merge" /> > > <many-to-one name="Comercial" cascade="save-update, > > persist,refresh,merge" /> > > <many-to-one name="Entrega" cascade="save-update, > > persist,refresh,merge" /> > > <many-to-one name="Correspondencia" cascade="save-update, > > persist,refresh,merge" /> > > </class> > > <class name="Endereco"> > > <id name="Id" type="Int32"> > > <generator class="hilo" /> > > </id> > > <property name="Rua" /> > > <property name="Numero" /> > > </class> > > </hibernate-mapping> > > > Are you CondORM? > > > 2010/3/4 Everton Lucas <[email protected]> > > > Ok... Understood. > > >> But do I need to implement collections in class Endereco? > > >> On 4 mar, 12:31, Fabio Maulo <[email protected]> wrote: > >> > Everton... they are simple many-to-one > > >> > 2010/3/4 Everton Lucas <[email protected]> > > >> > > No. One person has zero or one EnderecoResidencial, EnderecoComercial, > >> > > EnderecoEntrega and EnderecoCorrespondencia, and all of these members > >> > > are objects from class Endereco. > > >> > > For members of class Endereco, the person has members describing each > >> > > member, like Number and some observations about the address. Using > >> > > this structure the user doesn't need to retype the same address for > >> > > each customer, for example. > > >> > > So, improving the example, the class people will implemented (more > >> > > completely) as follows: > > >> > > class Pessoa { > >> > > ... > >> > > Endereco endResidencial; // Home address. > >> > > int numero; // Number of address above > >> > > Endereco endComercial; // Job address > >> > > int numero; // Number of address above. > >> > > Endereco endEntrega; // Deliver address. > >> > > int numero; // Number of address above > >> > > Endereco endCorrespondencia; // Something like an address to send > >> > > mails. Could be different of home address > >> > > int numero; // Number of address above > >> > > ... > > >> > > } > > >> > > On 4 mar, 09:35, Fabio Maulo <[email protected]> wrote: > >> > > > aaahhh... so you don't have a collection for each property in > >> Pessoa... > >> > > > should be easy and I prefer the other challenge where > >> > > > public ICollection<Endereco> Residencial > >> > > > public ICollection<Endereco> Comercial > >> > > > ..... > >> > > > .... > >> > > > and all relations should be stored in the same table. > > >> > > > 2010/3/4 Everton Lucas <[email protected]> > > >> > > > > Endereco is an entity. > > >> > > > > Before I send this issue, I thought to implement as follows > > >> > > > > class Pessoa { > >> > > > > ... > >> > > > > Endereco endResidencial; // Home address. > >> > > > > Endereco endComercial; // Job address. > >> > > > > Endereco endEntrega; // Deliver address. > >> > > > > Endereco endCorrespondencia; // Something like an address to send > >> > > > > mails. Could be different of home address > >> > > > > ... > >> > > > > } > > >> > > > > class Endereco { > >> > > > > String logradouro; // Street > >> > > > > String cep; // zip code > >> > > > > String cidade; // city > >> > > > > String uf; // State > >> > > > > String bairro; // ward > >> > > > > } > > >> > > > > My real question is: Can I implement these classes above? So, I > >> have a > >> > > > > second question: How can I translate these classes into hbm files? > > >> > > > > On 4 mar, 01:08, Fabio Maulo <[email protected]> wrote: > >> > > > > > Endereco, is an entity or a ValueObject (component) ? > > >> > > > > > 2010/3/3 Socratees Samipillai <[email protected]> > > >> > > > > > > I guess this should help you. > > >> > > > > > > class A > >> > > > > > > { > >> > > > > > > ISet<B> X; > >> > > > > > > } > > >> > > > > > > class B > >> > > > > > > { > >> > > > > > > ISet<A> Y; > >> > > > > > > } > > >> > > > > > > A.hbm.xml > > >> > > > > > > <set name="X" table="XXX" generic="true" where="if you have > >> any not > >> > > > > null > >> > > > > > > checks here, go for it." inverse="true or false" lazy="true"> > >> > > > > > > <key column="B_ID"/> > >> > > > > > > <many-to-many class="B, DLL" column="B_ID" > >> not-found="ignore"/> > >> > > > > > > </set> > > >> > > > > > > B.hbm.xml > > >> > > > > > > <set name="Y" table="YYY" generic="true" where="if you have > >> any not > >> > > > > null > >> > > > > > > checks here, go for it." inverse="true or false" lazy="true"> > >> > > > > > > <key column="A_ID" /> > >> > > > > > > <many-to-many class="A, DLL" column="A_ID" > >> not-found="ignore" > >> > > /> > >> > > > > > > </set> > > >> > > > > > > Also refer these manuals. > > >> > >https://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/ > > >> > >https://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/html/m. > >> > > > > .. > > >> > > > > > > For a many to many association where items can be duplicates, > >> you > >> > > > > should be > >> > > > > > > using a *bag* on both mapping files. A bag is unordered and > >> > > unindexed, > >> > > > > > > where as a set is unique. > > >> > > > > > > I would also strongly suggestwww.summerofnhibernate.com > > >> > > > > > > Socratees. > > >> > > > > > > 2010/3/3 Everton Lucas <[email protected]> > > >> > > > > > > Hi People > > >> > > > > > >> I need to know how can I implement classes and hbm files > >> > > demonstrated > >> > > > > in > >> > > > > > >> the uml diagram attached. I really don't know if there is a > >> way to > >> > > > > implement > >> > > > > > >> that without IList and bag tag. > > >> > > > > > >> Thanks in advance > >> > > > > > >> Everton Lucas > > >> > > > > > >> -- > >> > > > > > >> 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]<nhusers%[email protected]> > >> <nhusers%[email protected]<nhusers%[email protected]> > > >> > > <nhusers%[email protected]<nhusers%[email protected]> > >> <nhusers%[email protected]<nhusers%[email protected]> > > >> > > > > <nhusers%[email protected]<nhusers%[email protected]> > >> <nhusers%[email protected]<nhusers%[email protected]> > > >> > > <nhusers%[email protected]<nhusers%[email protected]> > >> <nhusers%[email protected]<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]<nhusers%[email protected]> > >> <nhusers%[email protected]<nhusers%[email protected]> > > >> > > <nhusers%[email protected]<nhusers%[email protected]> > >> <nhusers%[email protected]<nhusers%[email protected]> > > >> > > > > <nhusers%[email protected]<nhusers%[email protected]> > >> <nhusers%[email protected]<nhusers%[email protected]> > > >> > > <nhusers%[email protected]<nhusers%[email protected]> > >> <nhusers%[email protected]<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]<nhusers%[email protected]> > >> <nhusers%[email protected]<nhusers%[email protected]> > > >> > > <nhusers%[email protected]<nhusers%[email protected]> > >> <nhusers%[email protected]<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 > > ... > > mais » -- 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.
