vale, deacuerdo. es una prueba que he echo yo modificando la tabla para ver que pasaria.
* Pero ahora estoy viendo los tiempos de carga y me ha sorprendido ver que sin usar lazy obtengo [13:50:16:796][SELECT][SELECT [Numero], Concepto, Fecha, Prevista, Lugar, Folios, Documento, Notario, Dni, [Copias Autorizadas Realizadas], [Copias Simples Realizadas], [Folios Simples Reales], [Folios Autorizadas Reales], Retirada, RutaNota, Sustituto from [Escrituras] WHERE [Numero]=11000012] [13:50:16:843][SELECT][SELECT Notario, [Nombre Notario], [Apellidos Notario], [Numero De Notario], [Dni Notario], Baja, DireccionAgenda from [Datos Generales] WHERE Notario=51] [13:50:16:890][SELECT][SELECT Dni, Telefono, Email, [Enviar EMail], FelicitaNavidad, [Descuento Corretajes], [Descuento Escrituras], Controlador, Nacionalidad, [Apartado Correos], Bloque, Escalera, Planta, Puerta, [Numero Calle], [Nombre Via], [Numero Via], [Direccion no normalizada], Duplicado1, Duplicado2, [Numero Via2], [Pais Extranjero], [Numero Via Extranjero], [Poblacion Extranjero], [EstadoProvincia Extranjero], [Distrito Extranjero], [Via Extranjero], Via, Municipio, Sexo, [Codigo Entidad], [Fecha De Nacimiento], [Fecha Defuncion], Nombre, [Lugar De Nacimiento], [Vigente Desde], [Vigente Hasta], Movil, [numero de capitulacion], [ComunidadBienes], Retener, [Cliente Fijo], Mayor, Nif, Conyuge, Pais, ApellidoSoltera, [Cod Regimen Matrimonial], [Cod Estado Civil], profesion, NIE, Incapacidad, [No Residente], Profesional, [Notas Cliente] from Clientes WHERE Dni='X8888'] [13:50:16:937][SELECT][SELECT [Via abreviada], Via from Vias WHERE [Via abreviada]='CL'] [13:50:16:984][SELECT][SELECT Municipio, Ciudad, Provincia, [Codigo Postal], [Codigo Provincia], [Codigo Municipio], Delegacion from [Codigos Postales] WHERE Municipio='LORCA'] Tiempo: 423 ms (vemos como no usa lazy y hace varias selects por cada relacion) * Pero si uso Lazy (elimino not-found=ignore) [13:54:28:953][SELECT][SELECT [Numero], Concepto, Fecha, Prevista, Lugar, Folios, Documento, Notario, Dni, [Copias Autorizadas Realizadas], [Copias Simples Realizadas], [Folios Simples Reales], [Folios Autorizadas Reales], Retirada, RutaNota, Sustituto from [Escrituras] WHERE [Numero]=11000012] Tiempo: 2336 ms. Vemos como se simplifica la select, cargando nada mas que escritura y sin embargo el tiempo es mucho mayor. Alguna explicacion?, yo estaba buscando que funcionara el Lazy precisamente para ir mas rapido, no entiendo el por que de este resultado Muchas gracias El 26 de mayo de 2010 14:09, José F. Romaniello <[email protected]>escribió: > Pero eso significa que tu base de datos esta mal y deberías arreglarla. > No es "si tiene o no tiene", es si esta relacionada a una que no existe, en > tu caso no existe el NotarioNotariaImp con clave 51. > > El 26 de mayo de 2010 08:34, Rafael Ruiz Menduiña <[email protected]>escribió: > > Ok lo he probado y FUNCIONA, >> >> pero de no usar el not-found en caso de que no tener una entidad >> relacionada, en lugar de devolverme nothing me devuelve un proxy.....un >> error y al consultar alguna propiedad obtengo "No row with the given >> identifier exists[empresaDatos.NotarioNotariaImp#51]" >> >> Como controlo ahora para saber si tiene o no una entidad relacionada, >> hasta ahora tenia que comprobar If entidad.mientidadrelacionada is not >> nothing...... >> >> muchas gracias. >> >> >> >> >> El 26 de mayo de 2010 13:10, Fabio Maulo <[email protected]> escribió: >> >> not-found ="ignore" <== causa >>> >>> 2010/5/26 Rafael Ruiz Menduiña <[email protected]> >>> >>> - Mi entidad Cliente >>>> >>>> >>>> <?xml version="1.0" encoding="utf-8"?> >>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >>>> assembly="empresaDatos" namespace="NCliente"> >>>> <class name="empresaDatos.ClienteImp, NotinDatos, Version=1.0.0.0, >>>> Culture=Neutral, PublicKeyToken=354554543179e" table="Clientes" >>>> dynamic-insert="true" dynamic-update="true" mutable ="true"> >>>> >>>> <id name="Codigo" column="Dni" type="String" unsaved-value="-100"> >>>> <generator class="native" /> >>>> </id> >>>> <property name="Telefono" column ="Telefono" type ="String"/> >>>> <property name="Email" column="Email" type="String"/> >>>> <property name="EnviarEmail" column="[Enviar EMail]" >>>> type="Boolean"/> >>>> >>>> <many-to-one name="TipoVia" column="Via" not-found ="ignore" class=" >>>> empresaDatos.TiposViaImp, empresaDatos, Version=1.0.0.0, Culture=Neutral, >>>> PublicKeyToken=354554543179e"/> >>>> </class> >>>> </hibernate-mapping> >>>> >>>> - Mi entidad tipoVia >>>> >>>> >>>> <?xml version="1.0" encoding="utf-8" ?> >>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >>>> assembly="empresaDatos"> >>>> <class name="empresaDatos.TiposViaImp, empresaDatos, Version=1.0.0.0, >>>> Culture=Neutral, PublicKeyToken=354554543179e" table="U_Vias" >>>> mutable="false" > >>>> <id name="Codigo" column="[Via abreviada]" type="String" >>>> unsaved-value="-100"> >>>> <generator class="native" /> >>>> </id> >>>> <property name="Via" column="Via" type="String"/> >>>> </class> >>>> </hibernate-mapping> >>>> >>>> >>>> >>>> >>>> >>>> El 26 de mayo de 2010 00:36, José F. Romaniello <[email protected] >>>> > escribió: >>>> >>>> mappings >>>>> >>>>> gracias >>>>> >>>>> El 25 de mayo de 2010 13:57, Mendu <[email protected]> escribió: >>>>> >>>>>> Buenas a todos, >>>>>> >>>>>> Tengo una entidad mapeada en la que se encuentra un <many-to-one >>>>>> name="TipoVia" .... >>>>>> >>>>>> A la hora de consultar el log veo que aparece un select de mi entidad >>>>>> + un select del many-to-one a tipovia. >>>>>> >>>>>> bien, he probado todas las configuraciones, lazy, optimistic-lock, que >>>>>> aparece en la documentacion de la version 2.1.0 >>>>>> >>>>>> y lo unico que he conseguido es que aparezca una sola select pero >>>>>> sigue accediendo a TipoVia mediante left outer join. >>>>>> >>>>>> Lo que necesito es la carga perozosa, el lazy, que solo me rescate el >>>>>> objeto cuando lo necesite. >>>>>> >>>>>> Se que no pongo ejemplos, me gustaria saber si esto es posible y como >>>>>> en teoria lo configurais para que funcione de este modo. >>>>>> >>>>>> Muchas Gracias. >>>>>> >>>>>> -- >>>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>>> [email protected] >>>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>>>> >>>>> >>>>> -- >>>>> Para escribir al Grupo, hágalo a esta dirección: >>>>> [email protected] >>>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>>> >>>> >>>> -- >>>> Para escribir al Grupo, hágalo a esta dirección: >>>> [email protected] >>>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>>> >>> >>> >>> >>> -- >>> Fabio Maulo >>> >>> >>> -- >>> Para escribir al Grupo, hágalo a esta dirección: >>> [email protected] >>> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >>> >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
