[
https://issues.apache.org/jira/browse/OPENJPA-1850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12923758#action_12923758
]
Hugh commented on OPENJPA-1850:
-------------------------------
The group of tables are not known at compile time. The specific table isn't
known until runtime. I'd like to be able to add new tables at anytime and run a
new instance of this application to service it.
It's name is read from a table in another database or from the properties file.
I agree it is slightly dangerous if the wrong table name is used, but at most
it will throw an error because the structure is different.
I have a byte code manipulator that I use to rewrite the @Table name
annotation, but it never gets asked to load my class. I see every other class
being loaded.
The sql trace shows an error when the dummy table name is used.
I'm using Thread.currentThread().setContextClassLoader(New
TableClassLoader(Thread.currentThread().getContextClassLoader()));
This is run in theMain class and I see the class I'm interested in being
constructed after this.
How can I get my ClassLoader to be used to load this class?
I have a fully worked example I'll upload but it depends on the ASM bytecode
manipulator and jtds.
> Dynamic runtime @Table name configuration
> -----------------------------------------
>
> Key: OPENJPA-1850
> URL: https://issues.apache.org/jira/browse/OPENJPA-1850
> Project: OpenJPA
> Issue Type: Improvement
> Components: usability
> Environment: All environments
> Reporter: Hugh
>
> I'm wondering if there is a way to map multiple tables who's name won't be
> known until runtime to a single entity class. More specifically, My
> application uses a single entity which it knows the schema for, but not the
> table name until runtime. The applications has to read the table name from
> another know table after startup. All there is at deployment is the key into
> that table. The application consists of a farm of identical apps all running
> different configurations. They basically store data from different JMS queues
> to the database.
> I can't find anything useful about this except some byte code manipulators
> which don't seem to work on the annotation since it appears that the class is
> already loaded.
> I think there is a legitimate need for such an enhancement. I often have run
> into sqlServer users who don't know how to use segmented clustered indexing
> or can't install an Enterprise version so don't have access to this. They
> create multiple tables and use prepared statements.
> This would enable other cheap dbms to be used without having to worry about
> locking and contention at the table level.
> Does anyone have any opinions on this?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.