[ 
https://issues.apache.org/jira/browse/RAVE-680?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13393694#comment-13393694
 ] 

Jasha Joachimsthal commented on RAVE-680:
-----------------------------------------

Please check if you're able to delete profiles and/or widgets once the foreign 
keys are in place.

We have a circular reference: person -> page -> region -> regionwidget -> 
widget -> person
                
> Rave is not generating Foreign Keys with default JPA implementation
> -------------------------------------------------------------------
>
>                 Key: RAVE-680
>                 URL: https://issues.apache.org/jira/browse/RAVE-680
>             Project: Rave
>          Issue Type: Bug
>            Reporter: Anthony Carlucci
>
> Rave is not generating any foreign keys as part of the default OpenJPA 
> implementation.
> Steps:
> 1) Start up Rave using the default H2 database
> 2) Log into H2 web console http://localhost:11111
> 3) Execute: DELETE FROM WIDGET;  COMMIT;
> Step 3 should throw a foreign key constraint error because widget_id is 
> referenced in other tables, but it allows the deletes.  I also verified in an 
> Oracle installation that there are zero foreign key constraints in the 
> schema.  There are primary, check, and unique constraints but no foreign key 
> constraints.
> It appears that the default OpenJPA behavior[1] is to NOT create foreign keys 
> (ugh), but this can be modified with a property:
> <property name="openjpa.jdbc.MappingDefaults" 
> value="ForeignKeyDeleteAction=restrict, JoinForeignKeyDeleteAction=restrict"/>
> [1] 
> http://openjpa.apache.org/faq.html#FAQ-WhyOpenJPAisnotcreatingforeignkeyconstraintsonthedatabasetables%253F

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to