[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-6381) using @SecondaryTable with optional=true not handled for joined subclasses (@Inheritance(strategy = InheritanceType.JOINED)

David Mansfield (JIRA) noreply at atlassian.com
Wed Jun 29 22:53:54 EDT 2011


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-6381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=42736#action_42736 ] 

David Mansfield commented on HHH-6381:
--------------------------------------

To clarify the comment about testing, I meant I could not figure out how to make a JUnit test to test the fix, as the test would have to be able to see if a row was inserted.  The existing test case, JoinedSubclassAndSecondaryTable, was modified so that manual inspection of the log file would be sufficient to verify the bug and fix.

> using @SecondaryTable with optional=true not handled for joined subclasses (@Inheritance(strategy = InheritanceType.JOINED)
> ---------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HHH-6381
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-6381
>             Project: Hibernate Core
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.6.5, 4.0.0.Beta2
>         Environment: linux, jdk 1.6, hibernate latest from master, oracle 11gr2
>            Reporter: David Mansfield
>
> When using a @SecondaryTable(name="xx), set to optional using @org.hibernate.annotations.Table(name="xx",optional=true) the documentation states that the secondary table row will only be populated if any one of the properties mapped to the secondary table are not-null.  However, this does not work with joined subclasses using the JoinedSubclassEntityPersister.  This is because, internally, the boolean which controls "outer joinability" (called isNullableTable) always returns false.
> A fix has been tested which will be put into a github pull request. 
> The fix implements isNullableTable to honor the optional flag.
> Unfortunately, there is no way I could find to really test whether the code is working, as it requires examining the SQL generated for various operations.  However, I have manually verified the fix.  Please look at the output of the JoinedSubclassAndSecondaryTable test, which has been modified as well, to verify the DML statements.
> Fix available for 3.6.5 upon request. github pull will be for 4.0 (master).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list