Ah, pregunta... Ojo que si vas a usar el algoritmo del HiLo, no vayas a estar usando por otro lado el sp que me mostrate en el primer mail. Por que vas a tener choques.
El 20 de mayo de 2010 11:53, José F. Romaniello <[email protected]>escribió: > Estas un poco sonado, la mejor forma de hacerlo sería utilizar esa tabla > como tabla de HiLo, y utilizar bigint = int64 = long. > Tal vez con un bajo Hi, pero ahí como que me pierdo en la teoría. > > Creo que para hacer eso, vas a tener que heredar TableHiLoGenerator y pisar > algunos métodos. > > Te recomiendo mirar este, que hizo algo parecido, pero en vez de tener row > por entity, tenia column por cada entity.. pero a los fines es parecido lo > que deberías hacer: > http://stackoverflow.com/questions/1345754/nhibernate-hilo-new-column-per-entity-and-hilo-catches > > El 20 de mayo de 2010 11:39, Juan Cuello <[email protected]>escribió: > > El tipo es INT: >> >> CREATE TABLE [dbo].[C_Identificador] ( >> [taula] [varchar] (40) COLLATE >> SQL_Latin1_General_CP1_CI_AS NOT NULL , >> [comptador] [int] NOT NULL >> ) ON [PRIMARY] >> >> Mejor no tener demasiados huecos, aunque el id es interno. >> >> >> On 20 mayo, 16:33, José F. Romaniello <[email protected]> wrote: >> > Que tipo de dato es int o bigint? >> > Podes tener huecos grandes en la numeración?, >> > es decir..... que para una tabla saltes del 1000 al 3000 por decir? >> > >> > El 20 de mayo de 2010 11:31, Juan Cuello <[email protected]> >> escribió: >> > >> > >> > >> > >> > >> > > Como harías la misma funcionalidad con esa tabla tal cual? >> > >> > > Me tengo que ceñir a esa tabla... >> > >> > > On 20 mayo, 15:51, José F. Romaniello <[email protected]> wrote: >> > > > hereda la clase TableGenerator, y llama al storeprocedure desde ahí, >> > > usando >> > > > ado.net puro. >> > >http://nhforge.org/wikis/howtonh/creating-a-custom-id-generator-for-n. >> .. >> > >> > > > Cuidado por que ese store procedure es feo, y ES un cuello de >> botella. >> > > > Es un cuello de botella por que cada vez que se llama se tiene que >> > > bloquear >> > > > ese registro en el peor de los casos de bloqueara la página o tabla >> según >> > > el >> > > > motor, hasta que termine la transacción. Altamente no recomendable. >> > >> > > > El 20 de mayo de 2010 09:00, Juan Cuello <[email protected]> >> > > escribió: >> > >> > > > > Hola, >> > >> > > > > Resulta que en un proyecto que tengo que hacer la clave primaria >> se >> > > > > genera llamando al siguiente procedimiento almacenado de SQL >> Server: >> > >> > > > > CREATE PROCEDURE dbo.nouID (@nom_taula varchar(50), @p_id int >> OUTPUT) >> > > > > AS >> > >> > > > > UPDATE C_Identificador >> > > > > SET comptador = comptador + 1, >> > > > > @p_id = comptador +1 >> > > > > WHERE taula = @nom_taula >> > >> > > > > Return 1 >> > > > > GO >> > >> > > > > Alguien podría decirme que tengo que poner en el mapeo? >> > >> > > > > <id name="ID" column="ID" type="System.Decimal" >> unsaved-value="0"> >> > > > > <generator class="..."/> >> > > > > ..... >> > > > > </id> >> > >> > > > > 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 >> > >> > -- >> > 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
