query unidirectional many2one index





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















I am trying to make Hibernate Search index the following relationship:



DocVersion *<-> Document2 -> DocType



@Indexed
@Entity
public class Document2 implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doc_uuid")
private long id;

@IndexedEmbedded
@ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
@JoinColumn(name = "documentType")
private DocType docType;
}



@Indexed
@Entity
public class DocType implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doctype_id")
private long id;

@Field
@Column(name = "documentType")
private String documentType;
}


so it's unidiretcional @ManyToOne relation from the Document2 class because DocType is only a codetable.



However I need to query index based on cdt's property like document2.docType.documentType which gives me:



WARNING: org.hibernate.search.exception.SearchException: Unable to find field document2.docType.documentType in com.nws.vedica.model.entity.DocVersion


what am I missing?



hibernate-search: 5.9.3.Final










share|improve this question























  • Please give us the code for DocVersion, the full stack trace, and the code used to build and execute your query.

    – yrodiere
    Nov 23 '18 at 15:25











  • yeeah, it's all pretty casual, but I found the problem. will post this is all stacktrace I got

    – greengold
    Nov 23 '18 at 15:31




















0















I am trying to make Hibernate Search index the following relationship:



DocVersion *<-> Document2 -> DocType



@Indexed
@Entity
public class Document2 implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doc_uuid")
private long id;

@IndexedEmbedded
@ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
@JoinColumn(name = "documentType")
private DocType docType;
}



@Indexed
@Entity
public class DocType implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doctype_id")
private long id;

@Field
@Column(name = "documentType")
private String documentType;
}


so it's unidiretcional @ManyToOne relation from the Document2 class because DocType is only a codetable.



However I need to query index based on cdt's property like document2.docType.documentType which gives me:



WARNING: org.hibernate.search.exception.SearchException: Unable to find field document2.docType.documentType in com.nws.vedica.model.entity.DocVersion


what am I missing?



hibernate-search: 5.9.3.Final










share|improve this question























  • Please give us the code for DocVersion, the full stack trace, and the code used to build and execute your query.

    – yrodiere
    Nov 23 '18 at 15:25











  • yeeah, it's all pretty casual, but I found the problem. will post this is all stacktrace I got

    – greengold
    Nov 23 '18 at 15:31
















0












0








0








I am trying to make Hibernate Search index the following relationship:



DocVersion *<-> Document2 -> DocType



@Indexed
@Entity
public class Document2 implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doc_uuid")
private long id;

@IndexedEmbedded
@ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
@JoinColumn(name = "documentType")
private DocType docType;
}



@Indexed
@Entity
public class DocType implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doctype_id")
private long id;

@Field
@Column(name = "documentType")
private String documentType;
}


so it's unidiretcional @ManyToOne relation from the Document2 class because DocType is only a codetable.



However I need to query index based on cdt's property like document2.docType.documentType which gives me:



WARNING: org.hibernate.search.exception.SearchException: Unable to find field document2.docType.documentType in com.nws.vedica.model.entity.DocVersion


what am I missing?



hibernate-search: 5.9.3.Final










share|improve this question














I am trying to make Hibernate Search index the following relationship:



DocVersion *<-> Document2 -> DocType



@Indexed
@Entity
public class Document2 implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doc_uuid")
private long id;

@IndexedEmbedded
@ManyToOne(cascade = CascadeType.MERGE, fetch = FetchType.LAZY)
@JoinColumn(name = "documentType")
private DocType docType;
}



@Indexed
@Entity
public class DocType implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
@Column(name = "doctype_id")
private long id;

@Field
@Column(name = "documentType")
private String documentType;
}


so it's unidiretcional @ManyToOne relation from the Document2 class because DocType is only a codetable.



However I need to query index based on cdt's property like document2.docType.documentType which gives me:



WARNING: org.hibernate.search.exception.SearchException: Unable to find field document2.docType.documentType in com.nws.vedica.model.entity.DocVersion


what am I missing?



hibernate-search: 5.9.3.Final







hibernate lucene hibernate-search






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 23 '18 at 13:52









greengoldgreengold

4382923




4382923













  • Please give us the code for DocVersion, the full stack trace, and the code used to build and execute your query.

    – yrodiere
    Nov 23 '18 at 15:25











  • yeeah, it's all pretty casual, but I found the problem. will post this is all stacktrace I got

    – greengold
    Nov 23 '18 at 15:31





















  • Please give us the code for DocVersion, the full stack trace, and the code used to build and execute your query.

    – yrodiere
    Nov 23 '18 at 15:25











  • yeeah, it's all pretty casual, but I found the problem. will post this is all stacktrace I got

    – greengold
    Nov 23 '18 at 15:31



















Please give us the code for DocVersion, the full stack trace, and the code used to build and execute your query.

– yrodiere
Nov 23 '18 at 15:25





Please give us the code for DocVersion, the full stack trace, and the code used to build and execute your query.

– yrodiere
Nov 23 '18 at 15:25













yeeah, it's all pretty casual, but I found the problem. will post this is all stacktrace I got

– greengold
Nov 23 '18 at 15:31







yeeah, it's all pretty casual, but I found the problem. will post this is all stacktrace I got

– greengold
Nov 23 '18 at 15:31














1 Answer
1






active

oldest

votes


















0














So I have missed @ContainedIn that needs to be on the opposite side of the @IndexedEmbedded. For me in Document2:



    @ContainedIn
@OneToMany(mappedBy = "document2", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@org.hibernate.annotations.Cache(
usage = CacheConcurrencyStrategy.READ_WRITE
)
private Set<DocVersion> docVersions;


and in the DocType as a 'leaf' doesn't need to have link back to Document2 at all.



Hope that helps someone






share|improve this answer
























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53447967%2fquery-unidirectional-many2one-index%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    So I have missed @ContainedIn that needs to be on the opposite side of the @IndexedEmbedded. For me in Document2:



        @ContainedIn
    @OneToMany(mappedBy = "document2", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @org.hibernate.annotations.Cache(
    usage = CacheConcurrencyStrategy.READ_WRITE
    )
    private Set<DocVersion> docVersions;


    and in the DocType as a 'leaf' doesn't need to have link back to Document2 at all.



    Hope that helps someone






    share|improve this answer




























      0














      So I have missed @ContainedIn that needs to be on the opposite side of the @IndexedEmbedded. For me in Document2:



          @ContainedIn
      @OneToMany(mappedBy = "document2", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
      @org.hibernate.annotations.Cache(
      usage = CacheConcurrencyStrategy.READ_WRITE
      )
      private Set<DocVersion> docVersions;


      and in the DocType as a 'leaf' doesn't need to have link back to Document2 at all.



      Hope that helps someone






      share|improve this answer


























        0












        0








        0







        So I have missed @ContainedIn that needs to be on the opposite side of the @IndexedEmbedded. For me in Document2:



            @ContainedIn
        @OneToMany(mappedBy = "document2", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
        @org.hibernate.annotations.Cache(
        usage = CacheConcurrencyStrategy.READ_WRITE
        )
        private Set<DocVersion> docVersions;


        and in the DocType as a 'leaf' doesn't need to have link back to Document2 at all.



        Hope that helps someone






        share|improve this answer













        So I have missed @ContainedIn that needs to be on the opposite side of the @IndexedEmbedded. For me in Document2:



            @ContainedIn
        @OneToMany(mappedBy = "document2", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
        @org.hibernate.annotations.Cache(
        usage = CacheConcurrencyStrategy.READ_WRITE
        )
        private Set<DocVersion> docVersions;


        and in the DocType as a 'leaf' doesn't need to have link back to Document2 at all.



        Hope that helps someone







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 23 '18 at 15:38









        greengoldgreengold

        4382923




        4382923
































            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53447967%2fquery-unidirectional-many2one-index%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            "Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

            Alcedinidae

            Origin of the phrase “under your belt”?