You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Lucas Partridge (JIRA)" <ji...@apache.org> on 2010/10/07 13:32:30 UTC

[jira] Created: (OPENJPA-1825) Replace non-null with nullable instead of optional

Replace non-null with nullable instead of optional
--------------------------------------------------

                 Key: OPENJPA-1825
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1825
             Project: OpenJPA
          Issue Type: Sub-task
          Components: tooling
    Affects Versions: 2.0.0
         Environment: WinXP
            Reporter: Lucas Partridge


Currently the migration tool (which is very useful!) replaces the 'not-null' attribute of Hibernate's 'property' with the 'optional' attribute for OpenJPA.  However, when using runtime forward mapping with the resulting orm file the generated DDL doesn't recognise the value of the optional attribute.  The database column has IS_NULL = YES.

So the first thing is, can we please replace this section in migration-actions.xml for the 'property' action:

	<rename-attr from="not-null" to="optional">
		<map-value from="true"  to="false"/>
		<map-value from="false" to="true"/>
	</rename-attr>
with:
    <promote-attr from="column" to="column" as="name">
 ....
      <consume-attr from="not-null" to="nullable">
        <map-value from="true"  to="false"/>
        <map-value from="false" to="true"/>
      </consume-attr>
    </promote-attr>

...because the nullable attribute is honoured by the DDL as required (e.g., nullable="false" becomes IS_NULL=NO in the db).

The second thing is that when I do this the values don't get reveresed as expected.  For example, the following Hibernate line:

<property name="value" column="VALUE" type="text" length="10000000" not-null="true"/>

becomes:

      <basic name="value">
        <column length="10000000" name="VALUE" nullable="true"/>
      </basic>

...instead of the expected nullable="false".  Have you tested map-value elements when they're embedded inside consume-attr elements?  It looks like it's not working there.  They do appear to work however when inside rename-attr elements.



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (OPENJPA-1825) Replace non-null with nullable instead of optional

Posted by "Pinaki Poddar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OPENJPA-1825?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pinaki Poddar reassigned OPENJPA-1825:
--------------------------------------

    Assignee: Pinaki Poddar

> Replace non-null with nullable instead of optional
> --------------------------------------------------
>
>                 Key: OPENJPA-1825
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1825
>             Project: OpenJPA
>          Issue Type: Sub-task
>          Components: tooling
>    Affects Versions: 2.0.0
>         Environment: WinXP
>            Reporter: Lucas Partridge
>            Assignee: Pinaki Poddar
>
> Currently the migration tool (which is very useful!) replaces the 'not-null' attribute of Hibernate's 'property' with the 'optional' attribute for OpenJPA.  However, when using runtime forward mapping with the resulting orm file the generated DDL doesn't recognise the value of the optional attribute.  The database column has IS_NULL = YES.
> So the first thing is, can we please replace this section in migration-actions.xml for the 'property' action:
> 	<rename-attr from="not-null" to="optional">
> 		<map-value from="true"  to="false"/>
> 		<map-value from="false" to="true"/>
> 	</rename-attr>
> with:
>     <promote-attr from="column" to="column" as="name">
>  ....
>       <consume-attr from="not-null" to="nullable">
>         <map-value from="true"  to="false"/>
>         <map-value from="false" to="true"/>
>       </consume-attr>
>     </promote-attr>
> ...because the nullable attribute is honoured by the DDL as required (e.g., nullable="false" becomes IS_NULL=NO in the db).
> The second thing is that when I do this the values don't get reveresed as expected.  For example, the following Hibernate line:
> <property name="value" column="VALUE" type="text" length="10000000" not-null="true"/>
> becomes:
>       <basic name="value">
>         <column length="10000000" name="VALUE" nullable="true"/>
>       </basic>
> ...instead of the expected nullable="false".  Have you tested map-value elements when they're embedded inside consume-attr elements?  It looks like it's not working there.  They do appear to work however when inside rename-attr elements.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.