aspose file tools*
The moose likes Object Relational Mapping and the fly likes Dynamic Entities in JPA Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Dynamic Entities in JPA" Watch "Dynamic Entities in JPA" New topic
Author

Dynamic Entities in JPA

Lysander Poulsen
Greenhorn

Joined: Sep 30, 2008
Posts: 4
Hi All!
First of all, thanks for a great forum. I have learned a lot in here, so now I thought I would ask a question of my own:

Is it in some way possible to create an entity at runtime to hold the result from a given query, in JPA? I am doing a webcrawling project, where I retrieve data and put it into some tables. The tables will have various sizes and number of columns, so I am a little stuck on how to map these differing tables to entities. I do not know the size of the table or the number of rows, before the query has been executed.

Thank you in advance for helping. Feel free to ask questions, if I have not been clear
Scott Selikoff
author
Saloon Keeper

Joined: Oct 23, 2005
Posts: 3716
    
    5

I'm confused why you mean by 'dynamic entities'. If you define a database structure, populate it with records from a web crawler, you can then run queries on it whether or not you knew the data ahead of time.


My Blog: Down Home Country Coding with Scott Selikoff
Lysander Poulsen
Greenhorn

Joined: Sep 30, 2008
Posts: 4
Ah yes, I see I was not clear. I do NOT define the database structure ahead of time. My webcrawler defines the tables it needs, and then puts data in them. Therefore, I do not know the structure of the tables. I only have the table names.
Scott Selikoff
author
Saloon Keeper

Joined: Oct 23, 2005
Posts: 3716
    
    5

It's hard for me to imagine a web crawler capable of defining the database structure dynamically. Usually (good) database structure requires the care of skilled DBA or programmer. I know I'm a little off-topic, but are you sure you really want to construct it dynamically? It seems like a risky thing to me.
Lysander Poulsen
Greenhorn

Joined: Sep 30, 2008
Posts: 4
Well in this case, the webcrawler is defining the database tables, or at least the ones it uses to store data in. So that is a requirement. Have you got any ideas about how to create the dynamic entities?
Tim Holloway
Saloon Keeper

Joined: Jun 25, 2001
Posts: 16305
    
  21

The main problem I see is using JPA. JPA is fundamentally based on having a predefined record structure, which means that at least one table in your database would presumably be fixed in format at all times.

You can construct classes completely dynamically - in fact JPA commonly re-engineers classes at runtime to add the extra persistency fields it needs. However that's not a task for the faint of heart.


Customer surveys are for companies who didn't pay proper attention to begin with.
Lysander Poulsen
Greenhorn

Joined: Sep 30, 2008
Posts: 4
Well we found another way of doing it, which does not use JPA, but thank you all for your quick answers
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Dynamic Entities in JPA