<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" /> <base href="https://hibernate.atlassian.net" /> 
        <title>Message Title</title> 
    </head> 
    <body class="jira" style="color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429"> 
        <table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
            <!-- header here --> 
            <tr> 
                <td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px"> 
                    <table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                        <tr> 
                            <td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px"> <img id="header-avatar-image" class="image_fix" src="https://secure.gravatar.com/avatar/ca16b32e938f84abedc20b3384472a53?d=mm&amp;s=48" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top" /> 
                            </td> 
                            <td id="header-text-container" valign="middle" style="padding: 0px; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> <a class="user-hover" rel="michael.shekhtman" id="email_michael.shekhtman" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=michael.shekhtman" style="color:#6c797f;; color: #3b73af; text-decoration: none">Michael Shekhtman</a> <strong>created</strong> an issue 
                            </td> 
                        </tr> 
                    </table> 
                </td> 
            </tr> 
            <tr> 
                <td id="email-content-container" style="padding: 0px; border-collapse: collapse; padding: 0 20px"> 
                    <table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; border-spacing: 0; border-collapse: separate"> 
                        <tr> 
                            <!-- there needs to be content in the cell for it to render in some clients --> 
                            <td class="email-content-rounded-top mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly">
                                &nbsp;
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff"> 
                                <table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                                    <tr> 
                                        <td class="page-title-pattern-first-line " style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"> <a href="https://hibernate.atlassian.net/browse/HSEARCH" style="color: #3b73af; text-decoration: none">Hibernate Search</a> / <a href="https://hibernate.atlassian.net/browse/HSEARCH-1988" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-1d6e8168-01e4-46d6-8681-05aeee26cb2e" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /></a> <a href="https://hibernate.atlassian.net/browse/HSEARCH-1988" style="color: #3b73af; text-decoration: none">HSEARCH-1988</a> 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <td style="vertical-align: top;; padding: 0px; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"> <span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://hibernate.atlassian.net/browse/HSEARCH-1988" style="color: #3b73af; text-decoration: none">not multiValued field for transitive @IndexedEmbedded</a> </span> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="email-content-main mobile-expand  wrapper-special-margin" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 10px; padding-bottom: 5px"> 
                                <table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Issue Type:
                                        </th> 
                                        <td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-avatar-1d6e8168-01e4-46d6-8681-05aeee26cb2e" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /> Bug 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Affects Versions:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             5.4.0.Final 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Assignee:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             Unassigned 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Components:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             engine 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Created:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             07/Sep/2015 12:23 PM 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Environment:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             &lt;spring.version&gt;4.2.1.RELEASE&lt;/spring.version&gt; <br /> &lt;hibernate.version&gt;5.0.1.Final&lt;/hibernate.version&gt; <br /> &lt;hibernate-search.version&gt;5.4.0.Final&lt;/hibernate-search.version&gt; <br /> &lt;hibernate-ehcache.version&gt;5.0.1.Final&lt;/hibernate-ehcache.version&gt; <br /> &lt;postgres.jdbc.driver.version&gt;9.4-1201-jdbc41&lt;/postgres.jdbc.driver.version&gt; 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Priority:
                                        </th> 
                                        <td class="has-icon" style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <img src="cid:jira-generated-image-static-major-f958cccc-00cc-4449-85a5-f9a584f1bbdc" height="16" width="16" border="0" align="absmiddle" alt="Major" style="vertical-align: text-bottom" /> Major 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Reporter:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="michael.shekhtman" id="email_michael.shekhtman" href="https://hibernate.atlassian.net/secure/ViewProfile.jspa?name=michael.shekhtman" style="color:#6c797f;; color: #3b73af; text-decoration: none">Michael Shekhtman</a> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="email-content-main mobile-expand  issue-description-container" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 5px; padding-bottom: 10px"> 
                                <table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px"> 
                                    <tr> 
                                        <td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 10px 0"> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">I'm getting this error when batch indexing:<br /> dimension &quot;ipc.parent.class&quot; is not multiValued, but it appears more than once in this document</p> 
                                            <div class="preformatted panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
                                                <div class="preformattedContent panelContent" style="padding: 9px 12px"> 
                                                    <pre style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal; white-space: pre; word-break: normal; word-wrap: break-word; word-break: break-word; white-space: pre-wrap">15:06:20.942 [Hibernate Search: entityloader-1] ERROR o.h.s.exception.impl.LogErrorHandler - HSEARCH000058: HSEARCH000183: Unable to index instance of type com.patentsearch.model.patent.Patent while batch indexing: com.patentsearch.model.patent.Patent@687a5ab0[id=131,title=[com.patentsearch.model.patent.PatentTitle@5dd2f761[id=277,title=A MULTI-LEVEL CONTROLLER SYSTEM,language=&lt;null&gt;]],applicants=[com.patentsearch.model.PatentInitiator@37f7915c[id=298,name=ELTON BAUMGARTEN,country=&lt;null&gt;,address=,displayName=BAUMGARTEN ELTON,patentsCount=1]],authors=[com.patentsearch.model.PatentInitiator@3027a98d[id=348,name=LATROBE,PIERRE-MICHEL-LOUIS,country=FRANCE [FR],address=,displayName=PIERRE-MICHEL-LOUIS LATROBE,patentsCount=1], com.patentsearch.model.PatentInitiator@7a043053[id=247,name=Hisco, Inc.,country=USA [US],address=Houston,TX,displayName=HISCO INC,patentsCount=1], com.patentsearch.model.PatentInitiator@ab2dae3[id=1232,name=OPARIN ALEKSEJ V,SU,country=SOVIET UNION [SU],address=,displayName=OPARIN ALEKSEJ V,patentsCount=1], com.patentsearch.model.PatentInitiator@cc72b40[id=62,name=SIMON, Dirk,country=GERMANY [DE],address=Alemannenweg 20,79541 L&ouml;rrach,displayName=SIMON DIRK,patentsCount=1], com.patentsearch.model.PatentInitiator@b5da881[id=236,name=Park, Ki-Shic,country=REPUBLIC OF KOREA [KR],address=Daejeon,displayName=PARK KI-SHIC,patentsCount=1]],ipc=[Classification{code='G05B19/042', description='using digital processors', level=10}, Classification{code='G01N15/14', description='Electro-optical investigation, e.g. flow cytometers', level=9}, Classification{code='G05B19/045', description='using logic state machines, consisting only of a memory or a programmable logic device containing the logic for the controlled machine and in which the state of its outputs is dependent on the state of its inputs or part of its own output states, e.g. binary decision controllers, finite state controllers', level=10}, Classification{code='G05B11/01', description='electric', level=8}, Classification{code='G01N35/10', description='Devices for transferring samples', level=8}],familyId=32329160,trace=[com.patentsearch.model.patent.PatentTrace@3cda9f35[id=132,number=03768993,kind=null [A,EP],recordDate=2003-11-17T19:00:00.000-05:00,processed=2015-08-28T21:45:44.700-04:00], com.patentsearch.model.patent.PatentTrace@535ed25c[id=497,number=1565795,kind=Application published with search report [A1,EP],recordDate=2005-08-23T20:00:00.000-04:00,processed=2015-08-28T21:46:07.164-04:00], com.patentsearch.model.patent.PatentTrace@22dcf8cd[id=496,number=1565795,kind=Supplementary search report [A4,EP],recordDate=2006-11-14T19:00:00.000-05:00,processed=2015-08-28T21:46:07.162-04:00], com.patentsearch.model.patent.PatentTrace@44254057[id=495,number=1565795,kind=Patent specification [B1,EP],recordDate=2008-11-11T19:00:00.000-05:00,processed=2015-08-28T21:46:07.159-04:00]]]
java.lang.IllegalArgumentException: dimension &quot;ipc.parent.class&quot; is not multiValued, but it appears more than once in this document
        at org.apache.lucene.facet.FacetsConfig.checkSeen(FacetsConfig.java:175) ~[lucene-facet-4.10.4.jar:4.10.4 1662817 - mike - 2015-02-27 16:39:07]
        at org.apache.lucene.facet.FacetsConfig.build(FacetsConfig.java:232) ~[lucene-facet-4.10.4.jar:4.10.4 1662817 - mike - 2015-02-27 16:39:07]
        at org.apache.lucene.facet.FacetsConfig.build(FacetsConfig.java:190) ~[lucene-facet-4.10.4.jar:4.10.4 1662817 - mike - 2015-02-27 16:39:07]
        at org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.getDocument(DocumentBuilderIndexedEntity.java:362) ~[hibernate-search-engine-5.4.0.Final.jar:5.4.0.Final]
        at org.hibernate.search.engine.spi.DocumentBuilderIndexedEntity.createAddWork(DocumentBuilderIndexedEntity.java:250) ~[hibernate-search-engine-5.4.0.Final.jar:5.4.0.Final]
        at org.hibernate.search.batchindexing.impl.IdentifierConsumerDocumentProducer.index(IdentifierConsumerDocumentProducer.java:283) ~[hibernate-search-orm-5.4.0.Final.jar:5.4.0.Final]
        at org.hibernate.search.batchindexing.impl.IdentifierConsumerDocumentProducer.indexAllQueue(IdentifierConsumerDocumentProducer.java:223) ~[hibernate-search-orm-5.4.0.Final.jar:5.4.0.Final]
        at org.hibernate.search.batchindexing.impl.IdentifierConsumerDocumentProducer.loadList(IdentifierConsumerDocumentProducer.java:177) ~[hibernate-search-orm-5.4.0.Final.jar:5.4.0.Final]
        at org.hibernate.search.batchindexing.impl.IdentifierConsumerDocumentProducer.loadAllFromQueue(IdentifierConsumerDocumentProducer.java:140) ~[hibernate-search-orm-5.4.0.Final.jar:5.4.0.Final]
        at org.hibernate.search.batchindexing.impl.IdentifierConsumerDocumentProducer.run(IdentifierConsumerDocumentProducer.java:117) ~[hibernate-search-orm-5.4.0.Final.jar:5.4.0.Final]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_60]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_60]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_60]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_60]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
</pre> 
                                                </div>
                                            </div> 
                                            <div class="code panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
                                                <div class="codeContent panelContent" style="padding: 9px 12px"> 
                                                    <pre class="code-java" style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = <span class="code-quote" style="color: #009100">&quot;PATENT&quot;</span>)
@SequenceGenerator(name = <span class="code-quote" style="color: #009100">&quot;hibernate_sequence&quot;</span>, sequenceName = <span class="code-quote" style="color: #009100">&quot;hibernate_sequence&quot;</span>, initialValue = 1, allocationSize = 50)
@Indexed
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
@AnalyzerDefs(value = {
        @AnalyzerDef(name = <span class="code-quote" style="color: #009100">&quot;titleAnalyzer&quot;</span>,
                tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
                filters = {
                        @TokenFilterDef(factory = LowerCaseFilterFactory.class),
                        @TokenFilterDef(factory = StopFilterFactory.class),
                        @TokenFilterDef(factory = SnowballPorterFilterFactory.class, params = {
                                @Parameter(name = <span class="code-quote" style="color: #009100">&quot;language&quot;</span>, value = <span class="code-quote" style="color: #009100">&quot;English&quot;</span>)
                        })
                }),
        @AnalyzerDef(name = <span class="code-quote" style="color: #009100">&quot;applicantsAnalyzer&quot;</span>,
                tokenizer = @TokenizerDef(factory = StandardTokenizerFactory.class),
                filters = {
                        @TokenFilterDef(factory = LowerCaseFilterFactory.class),
                        @TokenFilterDef(factory = StopFilterFactory.class),
                        @TokenFilterDef(factory = SynonymFilterFactory.class, params = {
                                @Parameter(name = <span class="code-quote" style="color: #009100">&quot;synonyms&quot;</span>, value = <span class="code-quote" style="color: #009100">&quot;syn.txt&quot;</span>)
                        })
                })
})
<span class="code-keyword" style="color: #000091">public</span> class Patent <span class="code-keyword" style="color: #000091">implements</span> Serializable {

    <span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">static</span> <span class="code-keyword" style="color: #000091">final</span> <span class="code-object" style="color: #910091">long</span> serialVersionUID = 2875548131187739523L;

    @Id
    @Column(name = <span class="code-quote" style="color: #009100">&quot;ID&quot;</span>)
    @GeneratedValue(generator = <span class="code-quote" style="color: #009100">&quot;hibernate_sequence&quot;</span>, strategy = GenerationType.SEQUENCE)
    @DocumentId
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">Long</span> id;

    @Column(name = <span class="code-quote" style="color: #009100">&quot;EPO_ID&quot;</span>, unique = <span class="code-keyword" style="color: #000091">true</span>, nullable = <span class="code-keyword" style="color: #000091">true</span>)
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">Long</span> epoId;


    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;PATENT_ID&quot;</span>, referencedColumnName = <span class="code-quote" style="color: #009100">&quot;ID&quot;</span>)
    @IndexedEmbedded
    <span class="code-keyword" style="color: #000091">private</span> Set&lt;PatentTitle&gt; title;

    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;PATENT_ID&quot;</span>, referencedColumnName = <span class="code-quote" style="color: #009100">&quot;ID&quot;</span>)
    <span class="code-keyword" style="color: #000091">private</span> Set&lt;PatentDescription&gt; description;


    @ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
    @JoinTable(name = <span class="code-quote" style="color: #009100">&quot;PATENT_APPLICANT&quot;</span>,
            joinColumns = @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;PATENT_ID&quot;</span>),
            inverseJoinColumns = @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;APPLICANT_ID&quot;</span>)
    )
    @Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
    @OrderColumn(name = <span class="code-quote" style="color: #009100">&quot;applicant_seq&quot;</span>)
    @IndexedEmbedded
    <span class="code-keyword" style="color: #000091">private</span> List&lt;PatentInitiator&gt; applicants;


    @ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
    @JoinTable(name = <span class="code-quote" style="color: #009100">&quot;PATENT_INVENTOR&quot;</span>,
            joinColumns = @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;PATENT_ID&quot;</span>),
            inverseJoinColumns = @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;AUTHOR_ID&quot;</span>)
    )
    @Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
    @OrderColumn(name = <span class="code-quote" style="color: #009100">&quot;author_seq&quot;</span>)
    @IndexedEmbedded
    <span class="code-keyword" style="color: #000091">private</span> List&lt;PatentInitiator&gt; authors;


    @ManyToMany(fetch = FetchType.EAGER, cascade = {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REFRESH})
    @Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
    @JoinTable(name = <span class="code-quote" style="color: #009100">&quot;PATENT_CLASS&quot;</span>,
            joinColumns = @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;PATENT_ID&quot;</span>),
            inverseJoinColumns = @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;ID&quot;</span>))
    @IndexedEmbedded
    <span class="code-keyword" style="color: #000091">private</span> Set&lt;Classification&gt; ipc;


    @Column(name = <span class="code-quote" style="color: #009100">&quot;FAMILY_ID&quot;</span>, length = 20)
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">Long</span> familyId;


    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;PATENT_ID&quot;</span>, referencedColumnName = <span class="code-quote" style="color: #009100">&quot;ID&quot;</span>)
    @OrderBy(<span class="code-quote" style="color: #009100">&quot;recordDate ASC&quot;</span>)
    @Fields({
            @Field(name = <span class="code-quote" style="color: #009100">&quot;trace.number&quot;</span>, store = Store.YES, analyze = Analyze.NO, bridge = @FieldBridge(impl = PatentTraceNumberBridge.class)),
            @Field(name = <span class="code-quote" style="color: #009100">&quot;trace.fillingDate&quot;</span>, store = Store.YES, analyze = Analyze.NO, bridge = @FieldBridge(impl = PatentTraceFillingDateBridge.class)),
            @Field(name = <span class="code-quote" style="color: #009100">&quot;trace.lastRecordDate&quot;</span>, store = Store.YES, analyze = Analyze.NO, bridge = @FieldBridge(impl = PatentTraceLastRecordDateBridge.class)),
    })
    @Fetch(FetchMode.SUBSELECT)
    @IndexedEmbedded
    <span class="code-keyword" style="color: #000091">private</span> List&lt;PatentTrace&gt; trace;

    <span class="code-keyword" style="color: #000091">public</span> List&lt;PatentInitiator&gt; getApplicants() {
        <span class="code-keyword" style="color: #000091">return</span> applicants;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setApplicants(List&lt;PatentInitiator&gt; applicants) {
        <span class="code-keyword" style="color: #000091">this</span>.applicants = applicants;
    }

    <span class="code-keyword" style="color: #000091">public</span> List&lt;PatentInitiator&gt; getAuthors() {
        <span class="code-keyword" style="color: #000091">return</span> authors;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setAuthors(List&lt;PatentInitiator&gt; authors) {
        <span class="code-keyword" style="color: #000091">this</span>.authors = authors;
    }

    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">Long</span> getId() {
        <span class="code-keyword" style="color: #000091">return</span> id;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setId(<span class="code-object" style="color: #910091">Long</span> id) {
        <span class="code-keyword" style="color: #000091">this</span>.id = id;
    }

    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">Long</span> getEpoId() {
        <span class="code-keyword" style="color: #000091">return</span> epoId;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setEpoId(<span class="code-object" style="color: #910091">Long</span> epoId) {
        <span class="code-keyword" style="color: #000091">this</span>.epoId = epoId;
    }

    <span class="code-keyword" style="color: #000091">public</span> Set&lt;PatentTitle&gt; getTitle() {
        <span class="code-keyword" style="color: #000091">return</span> title;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setTitle(Set&lt;PatentTitle&gt; title) {
        <span class="code-keyword" style="color: #000091">this</span>.title = title;
    }

    <span class="code-keyword" style="color: #000091">public</span> Set&lt;PatentDescription&gt; getDescription() {
        <span class="code-keyword" style="color: #000091">return</span> description;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setDescription(Set&lt;PatentDescription&gt; description) {
        <span class="code-keyword" style="color: #000091">this</span>.description = description;
    }

    <span class="code-keyword" style="color: #000091">public</span> Set&lt;Classification&gt; getIpc() {
        <span class="code-keyword" style="color: #000091">return</span> ipc;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setIpc(Set&lt;Classification&gt; ipc) {
        <span class="code-keyword" style="color: #000091">this</span>.ipc = ipc;
    }

    <span class="code-keyword" style="color: #000091">public</span> List&lt;PatentTrace&gt; getTrace() {
        <span class="code-keyword" style="color: #000091">return</span> trace;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setTrace(List&lt;PatentTrace&gt; trace) {
        <span class="code-keyword" style="color: #000091">this</span>.trace = trace;
    }

    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">Long</span> getFamilyId() {
        <span class="code-keyword" style="color: #000091">return</span> familyId;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setFamilyId(<span class="code-object" style="color: #910091">Long</span> familyId) {
        <span class="code-keyword" style="color: #000091">this</span>.familyId = familyId;
    }


    <span class="code-keyword" style="color: #000091">public</span> void initialize() {
        <span class="code-keyword" style="color: #000091">if</span> (title == <span class="code-keyword" style="color: #000091">null</span>) {
            title = <span class="code-keyword" style="color: #000091">new</span> HashSet&lt;&gt;();
        }
        <span class="code-keyword" style="color: #000091">if</span> (description == <span class="code-keyword" style="color: #000091">null</span>) {
            description = <span class="code-keyword" style="color: #000091">new</span> HashSet&lt;&gt;();
        }
        <span class="code-keyword" style="color: #000091">if</span> (ipc == <span class="code-keyword" style="color: #000091">null</span>) {
            ipc = <span class="code-keyword" style="color: #000091">new</span> HashSet&lt;&gt;();
        }
        <span class="code-keyword" style="color: #000091">if</span> (applicants == <span class="code-keyword" style="color: #000091">null</span>) {
            applicants = <span class="code-keyword" style="color: #000091">new</span> LinkedList&lt;&gt;();
        }
        <span class="code-keyword" style="color: #000091">if</span> (authors == <span class="code-keyword" style="color: #000091">null</span>) {
            authors = <span class="code-keyword" style="color: #000091">new</span> LinkedList&lt;&gt;();
        }
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">boolean</span> equals(<span class="code-object" style="color: #910091">Object</span> obj) {
        <span class="code-keyword" style="color: #000091">if</span> (obj == <span class="code-keyword" style="color: #000091">null</span>) {
            <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">false</span>;
        }
        <span class="code-keyword" style="color: #000091">if</span> (obj == <span class="code-keyword" style="color: #000091">this</span>) {
            <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">true</span>;
        }
        <span class="code-keyword" style="color: #000091">if</span> (obj.getClass() != getClass()) {
            <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">false</span>;
        }
        Patent rhs = (Patent) obj;
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">new</span> EqualsBuilder()
                .append(<span class="code-keyword" style="color: #000091">this</span>.title, rhs.title)
                .append(<span class="code-keyword" style="color: #000091">this</span>.applicants, rhs.applicants)
                .append(<span class="code-keyword" style="color: #000091">this</span>.authors, rhs.authors)
                .append(<span class="code-keyword" style="color: #000091">this</span>.ipc, rhs.ipc)
                .isEquals();
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">int</span> hashCode() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">new</span> HashCodeBuilder()
                .append(title)
                .append(applicants)
                .append(authors)
                .append(ipc)
                .toHashCode();
    }


    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> toString() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">new</span> ToStringBuilder(<span class="code-keyword" style="color: #000091">this</span>)
                .append(<span class="code-quote" style="color: #009100">&quot;id&quot;</span>, id)
                .append(<span class="code-quote" style="color: #009100">&quot;title&quot;</span>, title)
                .append(<span class="code-quote" style="color: #009100">&quot;applicants&quot;</span>, applicants)
                .append(<span class="code-quote" style="color: #009100">&quot;authors&quot;</span>, authors)
                .append(<span class="code-quote" style="color: #009100">&quot;ipc&quot;</span>, ipc)
                .append(<span class="code-quote" style="color: #009100">&quot;familyId&quot;</span>, familyId)
                .append(<span class="code-quote" style="color: #009100">&quot;trace&quot;</span>, trace)
                .toString();
    }
</pre> 
                                                </div>
                                            </div> 
                                            <div class="code panel" style="border-width: 1px;; border: 1px solid #ccc; background: #f5f5f5; font-size: 12px; line-height: 1.333; font-family: monospace; border: 1px solid #ccc; -moz-border-radius: 3px 3px 3px 3px; border-radius: 3px 3px 3px 3px; margin: 9px 0">
                                                <div class="codeContent panelContent" style="padding: 9px 12px"> 
                                                    <pre class="code-java" style="margin: 10px 0 0 0; max-height: 30em; overflow: auto; white-space: pre-wrap; word-wrap: normal">
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = <span class="code-quote" style="color: #009100">&quot;CLASSIFICATION&quot;</span>, uniqueConstraints = @UniqueConstraint(columnNames = {<span class="code-quote" style="color: #009100">&quot;CLASS_CODE&quot;</span>}))
@Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
<span class="code-keyword" style="color: #000091">public</span> class Classification <span class="code-keyword" style="color: #000091">implements</span> Serializable {

    <span class="code-keyword" style="color: #000091">private</span> <span class="code-keyword" style="color: #000091">static</span> <span class="code-keyword" style="color: #000091">final</span> <span class="code-object" style="color: #910091">long</span> serialVersionUID = -3092795599286682284L;

    @Id
    @Column(name = <span class="code-quote" style="color: #009100">&quot;CLASS_CODE&quot;</span>, length = 15)
    @Field(name = <span class="code-quote" style="color: #009100">&quot;class&quot;</span>, store = Store.YES, analyze = Analyze.NO)
    @Facet(forField = <span class="code-quote" style="color: #009100">&quot;class&quot;</span>)
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">String</span> code;

    @Column(name = <span class="code-quote" style="color: #009100">&quot;DESCRIPTION&quot;</span>, length = 1000)
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">String</span> description;

    @Column(name = <span class="code-quote" style="color: #009100">&quot;LEVEL&quot;</span>)
    <span class="code-keyword" style="color: #000091">private</span> <span class="code-object" style="color: #910091">Integer</span> level;

    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = <span class="code-quote" style="color: #009100">&quot;PARENT&quot;</span>)
    @IndexedEmbedded(depth = 1)
    <span class="code-keyword" style="color: #000091">private</span> Classification parent;

    @OneToMany(mappedBy = <span class="code-quote" style="color: #009100">&quot;parent&quot;</span>, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    <span class="code-keyword" style="color: #000091">private</span> Set&lt;Classification&gt; children;

    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> getCode() {
        <span class="code-keyword" style="color: #000091">return</span> code;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setCode(<span class="code-object" style="color: #910091">String</span> code) {
        <span class="code-keyword" style="color: #000091">this</span>.code = code;
    }

    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> getDescription() {
        <span class="code-keyword" style="color: #000091">return</span> description;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setDescription(<span class="code-object" style="color: #910091">String</span> description) {
        <span class="code-keyword" style="color: #000091">this</span>.description = description;
    }

    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">Integer</span> getLevel() {
        <span class="code-keyword" style="color: #000091">return</span> level;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setLevel(<span class="code-object" style="color: #910091">Integer</span> level) {
        <span class="code-keyword" style="color: #000091">this</span>.level = level;
    }

    <span class="code-keyword" style="color: #000091">public</span> Classification getParent() {
        <span class="code-keyword" style="color: #000091">return</span> parent;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setParent(Classification parent) {
        <span class="code-keyword" style="color: #000091">this</span>.parent = parent;
    }

    <span class="code-keyword" style="color: #000091">public</span> Set&lt;Classification&gt; getChildren() {
        <span class="code-keyword" style="color: #000091">return</span> children;
    }

    <span class="code-keyword" style="color: #000091">public</span> void setChildren(Set&lt;Classification&gt; children) {
        <span class="code-keyword" style="color: #000091">this</span>.children = children;
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">int</span> hashCode() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">new</span> HashCodeBuilder()
                .append(<span class="code-keyword" style="color: #000091">this</span>.code)
                .toHashCode();
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">boolean</span> equals(<span class="code-object" style="color: #910091">Object</span> other) {
        <span class="code-keyword" style="color: #000091">if</span> (other == <span class="code-keyword" style="color: #000091">null</span>) {
            <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">false</span>;
        }
        <span class="code-keyword" style="color: #000091">if</span> (other == <span class="code-keyword" style="color: #000091">this</span>) {
            <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">true</span>;
        }
        <span class="code-keyword" style="color: #000091">if</span> (other.getClass() != <span class="code-keyword" style="color: #000091">this</span>.getClass()) {
            <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">false</span>;
        }
        Classification that = (Classification) other;
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-keyword" style="color: #000091">new</span> EqualsBuilder()
                .append(<span class="code-keyword" style="color: #000091">this</span>.code, that.code)
                .isEquals();
    }

    @Override
    <span class="code-keyword" style="color: #000091">public</span> <span class="code-object" style="color: #910091">String</span> toString() {
        <span class="code-keyword" style="color: #000091">return</span> <span class="code-quote" style="color: #009100">&quot;Classification{&quot;</span> +
                <span class="code-quote" style="color: #009100">&quot;code='&quot;</span> + code + '\'' +
                <span class="code-quote" style="color: #009100">&quot;, description='&quot;</span> + description + '\'' +
                <span class="code-quote" style="color: #009100">&quot;, level=&quot;</span> + level +
                '}';
    }
}
</pre> 
                                                </div>
                                            </div> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff"> 
                                <table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"> 
                                    <tr> 
                                        <td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0"> 
                                            <table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                                                <tr> 
                                                    <td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"> <a href="https://hibernate.atlassian.net/browse/HSEARCH-1988#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-d68f8b37-1eac-4c83-b28c-1fdb95534088" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle" /> </a> 
                                                    </td> 
                                                    <td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"> <a href="https://hibernate.atlassian.net/browse/HSEARCH-1988#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a> 
                                                    </td> 
                                                </tr> 
                                            </table> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                        <!-- there needs to be content in the cell for it to render in some clients --> 
                        <tr> 
                            <td class="email-content-rounded-bottom mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #fff; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly">
                                &nbsp;
                            </td> 
                        </tr> 
                    </table> 
                </td> 
            </tr> 
            <tr> 
                <td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px"> 
                    <table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                        <tr> 
                            <td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">
                                 This message was sent by Atlassian JIRA <span id="footer-build-information">(v7.0.0-OD-04-018#70102-<span title="7e84d93d6047c1dc7a9a46c283169cffaf7d247b" data-commit-id="7e84d93d6047c1dc7a9a46c283169cffaf7d247b}">sha1:7e84d93</span>)</span> 
                            </td> 
                            <td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0px; border-collapse: collapse; padding-left: 20px; vertical-align: top"> 
                                <table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                                    <tr> 
                                        <td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-3240121f-895a-4179-afd8-281b2863fda4" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix" /> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                    </table> 
                </td> 
            </tr> 
        </table>   
    </body>
</html>