I also ran into this issue, as well as the need to dynamically change the schema between environments (development, test, stage, Production - all point to different databases/schemas)
I solved this using the following 1. each server has a systemProperty "env" that indicates whether it is "dev" or "test" or "prod" 2. I have an Servlet.init() that calls System.getProperty("env"); and loads the right OJB and log4J files for example when I deploy to the "test" server 3. in test_OJB.properties: the repositoryFile =OJB/test_repository.xml 4. in test_repository.xml: <!DOCTYPE descriptor-repository SYSTEM "repository.dtd" [ <!ENTITY internal SYSTEM "repository_internal.xml"> <!ENTITY user SYSTEM "repository_user.xml"> <!ENTITY schema "$TEST"> ]> 5. in user_repository.xml <class-descriptor class="c.k.e.m.c.d.d.CustomerVO" schema="&schema;" table="CUSTOMER_TABLE"> (schema= is the important part. &schema; is the entity defined above) 6. in my SequenceManagerMSFImpl.getCustomerSeq() ClassDescriptor cld = persistanceBroker.getClassDescriptor(CustomerVO.class); String current_env = cld.getSchema()+"."; //will = $TEST or #DSNA then I use current_env to go after a few tables that I need to to generate the Seq (notice that I had to add the "." at the end) I just thought I would include this info, in case you will need to move your app from dev to test, and go after a different schema. Has anyone developed a more elegant solution? I would like to avoid having so many files (2 files XX_OJB.props and XX_repository.xml, for each environment). This was the best I could come up with. -John -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, July 10, 2003 10:13 AM To: OJB Users List Subject: Re: Oracle Connection & Schema Question Try this <class-descriptor class="com.ojb.SomeClass" table="PROJECT_FOO.SOME_TABLE"> ... "Brown, Melonie S. - Contractor" <[EMAIL PROTECTED]> 10.07.2003 19:03 Please respond to "OJB Users List" To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]> cc: Subject: Oracle Connection & Schema Question A directive was handed down by our dba's as follows. . . "There will be a schema called PROJECT_FOO which contains data, views, procedures, etc. There will be a userid called FOOUSER which will be used by the application to do what needs to be doing on the database (read, write). In developing code all calls to the database should include the prefix of the schema i.e. PROJECT_FOO.myusertable, PROJECT_FOO.mytable, etc." Our repository.xml looks like this: <jdbc-connection-descriptor platform="Oracle" jdbc-level="2.0" driver="com.p6spy.engine.spy.P6SpyDriver" protocol="jdbc" subprotocol="Oracle" dbalias="thin:@999.999.99.999:8888:SERVER" username="FOOUSER" password="foopassword" jcd-alias="default" default-connection="true" batch-mode="false" useAutoCommit="1" ignoreAutoCommitExceptions="false" > <sequence-manager className="org.apache.ojb.broker.util.sequence.SequenceManagerNextValImpl"> </sequence-manager> </jdbc-connection-descriptor> With OJB, where would the schema be specified? --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]