Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] SecondaryTable question

You could try to invoke the stored procedure in a PostLoad event.

-Tom

Sri Sankaran wrote:
We use JPQL to load the Registration objects.  Is it possible to invoke a stored procedure along with a JPQL?

Sri

-----Original Message-----
From: eclipselink-users-bounces@xxxxxxxxxxx [mailto:eclipselink-users-bounces@xxxxxxxxxxx] On Behalf Of Tom Ware
Sent: Monday, August 15, 2011 9:15 AM
To: EclipseLink User Discussions
Subject: Re: [eclipselink-users] SecondaryTable question

Is callilng the Stored Procedure directly an option?

Sri Sankaran wrote:
No, it doesn't HAVE TO BE a secondaryTable. Actually the attempt at using a secondaryTable was admittedly a hack that didn't pan out :-P Here's the scenario. Maybe you can suggest the appropriate approach. The table REGISTRATIONS contains a column called EXPIRATION_DATE. Now, based on the current date and myriad business rules I must communicate an expiration STATUS to the user. This has been implemented as a stored procedure. The stored procedure is invoked by accessing the view REGISTRATION_STATUS_FLAGS_V. Ergo wiring the Registration class to use this view as a secondary table. Note that I cannot pre-calculate the expiration status. Since its calculation is time sensitive it must be done in real time, i.e. when the user issues the request. Any better way come to mind? Sri -----Original Message-----
From: eclipselink-users-bounces@xxxxxxxxxxx
[mailto:eclipselink-users-bounces@xxxxxxxxxxx] On Behalf Of Tom Ware
Sent: Monday, August 15, 2011 7:53 AM
To: EclipseLink User Discussions
Subject: Re: [eclipselink-users] SecondaryTable question
Is there any particular reason this has to be a secondary table? Could this instead be mapped with some other mapping like a 1-1 - you could even provide methods on the class to make the values in the 1-1 accessible as if they were mapped on the same class. -Tom Sri Sankaran wrote:
 Eclipselink version: 2.0.0

Is it possible to use a _secondary table_ <http://www.eclipse.org/eclipselink/api/2.0/javax/persistence/Seconda r yTable.html> in such a way that inserts/updates happen only to the /primary /table?

You are probably wondering "Why on earth would you want that behavior". Here's why. We are using the @SecondaryTable annotation to point to a view which contains read-only data.

 /@Table(//name="REGISTRATIONS")/
 /@SecondaryTable(name="REGISTRATION_STATUS_FLAGS_V)/
 *p**ublic* *class* Registration {
  ...
  /@Column(name="EXPIRATION_STATUS" /
 /          table="REGISTRATION_STATUS_FLAGS_V"/
 /          insertable="false"/
 /          updatable="false")/
  private String expirationStatus;
 }

The current setup is resulting in database errors because an insert to the primary table results in an attempted insert to the secondary table as well.

 Sri



---------------------------------------------------------------------
-
 --

 _______________________________________________
 eclipselink-users mailing list
 eclipselink-users@xxxxxxxxxxx <mailto:eclipselink-users@xxxxxxxxxxx>
 https://dev.eclipse.org/mailman/listinfo/eclipselink-users
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx <mailto:eclipselink-users@xxxxxxxxxxx>
https://dev.eclipse.org/mailman/listinfo/eclipselink-users

----------------------------------------------------------------------
--

_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users


_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users


Back to the top