Hibernate 如何配置ColdFusion';多会话作用域DSN的ORM?

Hibernate 如何配置ColdFusion';多会话作用域DSN的ORM?,hibernate,orm,coldfusion,coldfusion-9,dsn,Hibernate,Orm,Coldfusion,Coldfusion 9,Dsn,如果可能,如何配置ColdFusion 9的ORM以使用多个DSN 是否可以在会话范围而不是应用程序范围的上下文中设置数据源 或者,在CF9中,如何配置Hibernate以使用多个DSN 看起来我应该更具体一点。。。 我正在寻找一种基于会话指定DSN的解决方案 下面是一个场景。我们有一个自定义构建的应用程序,它使用从子域确定的多个DSN。因此,从访问的人将使用abc DSN,而访问xyz.domain.com的人将使用xyz DSN。DSN的名称在创建会话时确定,并作为会话变量存储 我想这样做

如果可能,如何配置ColdFusion 9的ORM以使用多个DSN

是否可以在会话范围而不是应用程序范围的上下文中设置数据源

或者,在CF9中,如何配置Hibernate以使用多个DSN


看起来我应该更具体一点。。。 我正在寻找一种基于会话指定DSN的解决方案

下面是一个场景。我们有一个自定义构建的应用程序,它使用从子域确定的多个DSN。因此,从访问的人将使用abc DSN,而访问xyz.domain.com的人将使用xyz DSN。DSN的名称在创建会话时确定,并作为会话变量存储

我想这样做:

//艺术家

component persistent="true" datasource="#session.dsn#"
{ 
property name="artistid" generator="increment"; 
property firstname; 
property lastname; 
property address; 
property city; 
property state; 
}
//Application.cfc

component output="false" { 
THIS.name = "MultipleDsnORMTest"; 
THIS.applicationTimeout = createTimeSpan(0, 0, 0, 0); 
THIS.clientManagement = false; 
THIS.datasource = ""; // Leaving black ==> "No data source specified."
                      // Setting to cfbookclub ==> "ORM is not 
                      //   configured for the current application."
                      // Setting to cfartgallery works but doesn't 
                      //   demonstrate use multiple DSNs
THIS.loginStorage = "cookie"; 
THIS.sessionManagement = true; 
THIS.sessionTimeout = createTimeSpan(0, 0, 0, 0); 

THIS.ormenabled = true; 
THIS.ormsettings = {}; 
}

随着ColdFusion 9.0.1更新而引入,您可以使用。每个组件一次一个。在对象中使用“datasource”属性来指定应该使用哪个数据库

<cfcomponent displayname="firstObject" datasource="dbOne">
    <cffunction>
        ...
    </cffunction>

    ...
</cfcomponent>

尽管可以将ColdFusion 9配置为在应用程序范围内使用多个ORM数据源,但无法将ColdFusion 9的ORM配置为在会话范围内使用多个DSN。

是否可以在application.cfc级别定义默认值,这意味着您只需要在引用其他地方的数据时添加datasource属性?如果在对象/组件中省略datasource属性,则将使用application.cfc中定义的默认datasource。您将application.cfc级别的datasource设置为什么?回答不完整。这不管用。必须配置Application.cfc;引用的Adobe文档没有显示如何使用。那么,您是否必须在
Artists.cfc
中保留
datasource=“xyz”
硬编码(xyz)?还是找到了一种使其动态化的方法?@Sergii我没有太多地使用CF ORMs,因为它们对多个数据源的限制。尽管我希望这不是真的,但我相信答案是数据源必须是硬编码的。如果我错了,希望有人会纠正我。我认为硬编码是糟糕的编程实践,所以我真的希望我错了。
component datasource = 'dbOne'{
    ...
}