Pregunta

Tengo una situación en la que tengo dos entidades que comparten una clave principal (Transaction y TransactionDetail). Los he mapeado usando una relación de muchos a uno de Transaction to TransactionDetail y de TransactionDetail a Transaction. El detalle de la transacción contiene un registro para cada transacción.

Sin embargo, cuando creo un nuevo objeto de detalle de transacción y lo agrego a la transacción, NHibernate intenta actualizar la tabla de Transacción con una consulta como 'actualizar transacción set id =? donde id =? ' con el mismo valor para cada parámetro.

Dado que la asignación está en la columna de clave principal, no quiero que la transacción se actualice. De hecho, dado que la clave principal es una columna de identidad, aparece un error cuando intenta actualizar el valor. ¿Cómo puedo evitar que NHibernate actualice la tabla Transaction cuando se crea un nuevo registro TransactionDetail?

¿Fue útil?

Solución

Es posible que desee ver los tipos de asignaciones uno a uno o join-table . many-to-one significa algo específico, y parece que su caso podría encajar mejor en el perfil de uno de los otros dos tipos de asignaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top