アプリケーション間でColdFusionORMオブジェクトを再利用することは可能ですか?
たとえば、app1という名前のフォルダーにapp1という名前のORM対応アプリケーションをセットアップしました。部門データベーステーブルに対応するdepartment.cfcを作成しました。
<cfcomponent>
<cfset this.name = "app1">
<cfset this.ormenabled = "true">
<cfset this.ormSettings = {
datasource = "myDS",
schema = "mySchema",
dialect = "Oracle10g",
logSQL = "false"
}>
CFMファイルからコンテンツをロードおよびダンプできます。
<cfset item = EntityLoad("department")>
<cfdump var="#item#">
次に、app2という名前のフォルダーにapp2という名前の同一のORM対応アプリケーションをセットアップしました。app1のdepartment.cfcを拡張するdepartment.cfcをそこに作成しました。
<cfcomponent persistent="true" extends="my.path.app1.department">
</cfcomponent>
コンテンツをロードしてダンプしようとすると、エラーが発生します。
システムが未定義の値を使用しようとしました。これは通常、コードまたはシステムコードのいずれかでプログラミングエラーを示しています。ヌルポインタは、未定義の値の別名です。
パスが正しいことを確認しました。たとえば、CreateObjectを使用してオブジェクトをインスタンス化できました。
<cfset item = CreateObject("component","my.path.app1.department")>
<cfdump var = "#item#">
単一のCFCを参照してオブジェクトを再利用できることを望んでいますが、何かが足りない場合を除いて、app2でオブジェクトを再作成する必要があるようです。