<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Thu Feb 08 08:55:38 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[JAVA-1837] Add support for polymorphic persistence</title>
                <link>https://jira.mongodb.org/browse/JAVA-1837</link>
                <project id="10006" key="JAVA">Java Driver</project>
                    <description>&lt;p&gt;when saving an object, we need to support the serialization of subclasses and their hydration regardless of the field type declaration.  e.g.&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;List&amp;lt;Person&amp;gt;&lt;/tt&gt; might hold  &lt;tt&gt;Person&lt;/tt&gt;, an &lt;tt&gt;Manager&lt;/tt&gt;, or a &lt;tt&gt;Contractor&lt;/tt&gt;.  The code will need be able to apply the correct &lt;tt&gt;Codec&lt;/tt&gt; to and from the database.&lt;/p&gt;

&lt;p&gt;A discriminator value would be added to the saved document.  With the Conventions system in place, how this is defined could configurable.&lt;/p&gt;

&lt;p&gt;The C# driver uses an array of discriminator values to support subclasses and polymorphia queries:&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;{ _t : [ &quot;Animal&quot;, &quot;Mammal&quot;, &quot;Cow&quot; ], ... }&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This form of discriminator is very useful for querying on types in the middle of the inheritance hierarchy:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;db.animals.find({ _t : &quot;Mammal&quot; });&lt;/p&gt;&lt;/blockquote&gt;</description>
                <environment></environment>
        <key id="206103">JAVA-1837</key>
            <summary>Add support for polymorphic persistence</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="justin.lee">Justin Lee</assignee>
                                    <reporter username="justin.lee">Justin Lee</reporter>
                        <labels>
                    </labels>
                <created>Fri, 22 May 2015 18:08:54 +0000</created>
                <updated>Mon, 5 Jun 2017 19:35:21 +0000</updated>
                            <resolved>Mon, 18 Jul 2016 18:47:21 +0000</resolved>
                                                    <fixVersion>3.5.0</fixVersion>
                                    <component>Codecs</component>
                                        <votes>0</votes>
                                    <watches>0</watches>
                                                                                                                        <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10857" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>JAVA-1812</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hrcx8f:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    <customfield id="customfield_10557" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="992">JVM Sprint 33</customfieldvalue>
    <customfieldvalue id="1123">JVM Sprint 34</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>