2011-08-09 7 views
5

Tengo dos componentes, una base Entity componentes:¿Cómo se correlaciona una clase base con ColdFusion ORM?

<cfcomponent persistent="true"> 
    <cfproperty name="Id" fieldtype="id" generator="native"> 
</cfcomponent> 

y un componente Client que la extiende:

<cfcomponent persistent="true" extends="Entity"> 
    <cfproperty name="FirstName"> 
    <cfproperty name="LastName"> 
</cfcomponent> 

Sin embargo, cuando intento crear una instancia de Client, me sale un error que dice que están siendo mapeados como dos tablas diferentes. Sé que Hibernate tiene la capacidad de ignorar una clase base, pero ¿cómo lo haría con las etiquetas de ColdFusion, o tengo que recurrir a las asignaciones de HBM para esta característica?

Adición: Extracción de la persistent="true" de Entity tampoco funciona, Client actuará como si no tiene una propiedad Id si lo hago.

Respuesta

6

En su clase base "Entity" intente eliminar persistent = "true" y agregar mappedSuperClass = "true".

<cfcomponent mappedSuperClass="true"> 
    <cfproperty name="Id" fieldtype="id" generator="native"> 
</cfcomponent> 

Debe haber aplicado la actualización 9.0.1 a ColdFusion.

+0

Asegúrese de que ORMReload() después de realizar los cambios. – CfSimplicity

Cuestiones relacionadas