Join query for any type mapping on HibernateHow do I efficiently iterate over each entry in a Java Map?Sort a Map<Key, Value> by valuesWhat are the possible values of the Hibernate hbm2ddl.auto configuration and what do they doHibernate ManyToMany with Join table problems on updateWrong ordering in generated table in jpaComplex order by in JPQLWhat's the difference between JPA and Hibernate?MappingJackson2HttpMessageConverter Can not find a (Map) Key deserializer for typeHibernate : Why FetchType.LAZY-annotated collection property eagerly loading?JPA Query for collection map join table

Why do distances seem to matter in the Foundation world?

Why did C use the -> operator instead of reusing the . operator?

Does a large simulator bay have standard public address announcements?

Should the Product Owner dictate what info the UI needs to display?

How do I check if a string is entirely made of the same substring?

All ASCII characters with a given bit count

Cayley's Matrix Notation

As an international instructor, should I openly talk about my accent?

Find the identical rows in a matrix

Magical attacks and overcoming damage resistance

How to pronounce 'c++' in Spanish

Why is the underscore command _ useful?

Apply a different color ramp to subset of categorized symbols in QGIS?

"Whatever a Russian does, they end up making the Kalashnikov gun"? Are there any similar proverbs in English?

Why must Chinese maps be obfuscated?

Work requires me to come in early to start computer but wont let me clock in to get paid for it

Which big number is bigger?

Could moose/elk survive in the Amazon forest?

How exactly does Hawking radiation decrease the mass of black holes?

Is Diceware more secure than a long passphrase?

Negative Resistance

How to not starve gigantic beasts

How can I practically buy stocks?

Creating a chemical industry from a medieval tech level without petroleum



Join query for any type mapping on Hibernate


How do I efficiently iterate over each entry in a Java Map?Sort a Map<Key, Value> by valuesWhat are the possible values of the Hibernate hbm2ddl.auto configuration and what do they doHibernate ManyToMany with Join table problems on updateWrong ordering in generated table in jpaComplex order by in JPQLWhat's the difference between JPA and Hibernate?MappingJackson2HttpMessageConverter Can not find a (Map) Key deserializer for typeHibernate : Why FetchType.LAZY-annotated collection property eagerly loading?JPA Query for collection map join table






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








0















I've Implemented Any relationship Tag entity mapping with Asset,Patient,Staff



I tried below JPQL Query



em.createQuery("select t from Tag t join t.tagAssociation ta");



I got the following error




org.hibernate.hql.internal.ast.QuerySyntaxException: An AnyType attribute cannot be join fetched error




What is wrong with the query ?
How to write join query and I want to fetch Asset and Tag associated list.



Code:



 public interface ITagAssociatable 
public String getName();


@Entity
public class Tag
@Id
private String tagSerialNumber;

@JsonIgnore
@Any(metaColumn = @Column(name = "tag_association_type"))
@AnyMetaDef(idType = "long", metaType = "string", metaValues =
@MetaValue(targetEntity = Asset.class, value = "Asset"),
@MetaValue(targetEntity = Staff .class, value = "Staff"),
@MetaValue(targetEntity = Patient.class, value = "Patient") )
@Cascade( org.hibernate.annotations.CascadeType.MERGE )
@JoinColumn(name = "tag_association_id")
private ITagAssociatable tagAssociation;


@Entity
public class Asset implements ITagAssociatable
@Id
private Long id;
private String name


@Entity
public class Staff implements ITagAssociatable
@Id
private Long id;
private String name;


@Entity
public class Patient implements ITagAssociatable
@Id
private Long id;
private String name










share|improve this question
























  • What happens, if you type: em.createQuery("select t from Tag t join t.tagAssociation ta", Tag.class);?

    – Andronicus
    Mar 9 at 7:57

















0















I've Implemented Any relationship Tag entity mapping with Asset,Patient,Staff



I tried below JPQL Query



em.createQuery("select t from Tag t join t.tagAssociation ta");



I got the following error




org.hibernate.hql.internal.ast.QuerySyntaxException: An AnyType attribute cannot be join fetched error




What is wrong with the query ?
How to write join query and I want to fetch Asset and Tag associated list.



Code:



 public interface ITagAssociatable 
public String getName();


@Entity
public class Tag
@Id
private String tagSerialNumber;

@JsonIgnore
@Any(metaColumn = @Column(name = "tag_association_type"))
@AnyMetaDef(idType = "long", metaType = "string", metaValues =
@MetaValue(targetEntity = Asset.class, value = "Asset"),
@MetaValue(targetEntity = Staff .class, value = "Staff"),
@MetaValue(targetEntity = Patient.class, value = "Patient") )
@Cascade( org.hibernate.annotations.CascadeType.MERGE )
@JoinColumn(name = "tag_association_id")
private ITagAssociatable tagAssociation;


@Entity
public class Asset implements ITagAssociatable
@Id
private Long id;
private String name


@Entity
public class Staff implements ITagAssociatable
@Id
private Long id;
private String name;


@Entity
public class Patient implements ITagAssociatable
@Id
private Long id;
private String name










share|improve this question
























  • What happens, if you type: em.createQuery("select t from Tag t join t.tagAssociation ta", Tag.class);?

    – Andronicus
    Mar 9 at 7:57













0












0








0








I've Implemented Any relationship Tag entity mapping with Asset,Patient,Staff



I tried below JPQL Query



em.createQuery("select t from Tag t join t.tagAssociation ta");



I got the following error




org.hibernate.hql.internal.ast.QuerySyntaxException: An AnyType attribute cannot be join fetched error




What is wrong with the query ?
How to write join query and I want to fetch Asset and Tag associated list.



Code:



 public interface ITagAssociatable 
public String getName();


@Entity
public class Tag
@Id
private String tagSerialNumber;

@JsonIgnore
@Any(metaColumn = @Column(name = "tag_association_type"))
@AnyMetaDef(idType = "long", metaType = "string", metaValues =
@MetaValue(targetEntity = Asset.class, value = "Asset"),
@MetaValue(targetEntity = Staff .class, value = "Staff"),
@MetaValue(targetEntity = Patient.class, value = "Patient") )
@Cascade( org.hibernate.annotations.CascadeType.MERGE )
@JoinColumn(name = "tag_association_id")
private ITagAssociatable tagAssociation;


@Entity
public class Asset implements ITagAssociatable
@Id
private Long id;
private String name


@Entity
public class Staff implements ITagAssociatable
@Id
private Long id;
private String name;


@Entity
public class Patient implements ITagAssociatable
@Id
private Long id;
private String name










share|improve this question
















I've Implemented Any relationship Tag entity mapping with Asset,Patient,Staff



I tried below JPQL Query



em.createQuery("select t from Tag t join t.tagAssociation ta");



I got the following error




org.hibernate.hql.internal.ast.QuerySyntaxException: An AnyType attribute cannot be join fetched error




What is wrong with the query ?
How to write join query and I want to fetch Asset and Tag associated list.



Code:



 public interface ITagAssociatable 
public String getName();


@Entity
public class Tag
@Id
private String tagSerialNumber;

@JsonIgnore
@Any(metaColumn = @Column(name = "tag_association_type"))
@AnyMetaDef(idType = "long", metaType = "string", metaValues =
@MetaValue(targetEntity = Asset.class, value = "Asset"),
@MetaValue(targetEntity = Staff .class, value = "Staff"),
@MetaValue(targetEntity = Patient.class, value = "Patient") )
@Cascade( org.hibernate.annotations.CascadeType.MERGE )
@JoinColumn(name = "tag_association_id")
private ITagAssociatable tagAssociation;


@Entity
public class Asset implements ITagAssociatable
@Id
private Long id;
private String name


@Entity
public class Staff implements ITagAssociatable
@Id
private Long id;
private String name;


@Entity
public class Patient implements ITagAssociatable
@Id
private Long id;
private String name







java spring hibernate jpa jpql






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 9 at 7:54







Kevin Andrid

















asked Mar 9 at 7:38









Kevin AndridKevin Andrid

1,42511125




1,42511125












  • What happens, if you type: em.createQuery("select t from Tag t join t.tagAssociation ta", Tag.class);?

    – Andronicus
    Mar 9 at 7:57

















  • What happens, if you type: em.createQuery("select t from Tag t join t.tagAssociation ta", Tag.class);?

    – Andronicus
    Mar 9 at 7:57
















What happens, if you type: em.createQuery("select t from Tag t join t.tagAssociation ta", Tag.class);?

– Andronicus
Mar 9 at 7:57





What happens, if you type: em.createQuery("select t from Tag t join t.tagAssociation ta", Tag.class);?

– Andronicus
Mar 9 at 7:57












1 Answer
1






active

oldest

votes


















0














I can't find where it is specifically forbidden (so perhaps someone else can provide a better answer?), but the documentation warns that it is impossible to create foreign keys for this type of relation and an eager join would be quite complex. Most likely Hibernate doesn't support join fetch for @Any and will read the relations with separate selects later instead. If so you can use @BatchSize to read many relations with one select, avoiding the N+1 problem.






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%2f55075116%2fjoin-query-for-any-type-mapping-on-hibernate%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














    I can't find where it is specifically forbidden (so perhaps someone else can provide a better answer?), but the documentation warns that it is impossible to create foreign keys for this type of relation and an eager join would be quite complex. Most likely Hibernate doesn't support join fetch for @Any and will read the relations with separate selects later instead. If so you can use @BatchSize to read many relations with one select, avoiding the N+1 problem.






    share|improve this answer



























      0














      I can't find where it is specifically forbidden (so perhaps someone else can provide a better answer?), but the documentation warns that it is impossible to create foreign keys for this type of relation and an eager join would be quite complex. Most likely Hibernate doesn't support join fetch for @Any and will read the relations with separate selects later instead. If so you can use @BatchSize to read many relations with one select, avoiding the N+1 problem.






      share|improve this answer

























        0












        0








        0







        I can't find where it is specifically forbidden (so perhaps someone else can provide a better answer?), but the documentation warns that it is impossible to create foreign keys for this type of relation and an eager join would be quite complex. Most likely Hibernate doesn't support join fetch for @Any and will read the relations with separate selects later instead. If so you can use @BatchSize to read many relations with one select, avoiding the N+1 problem.






        share|improve this answer













        I can't find where it is specifically forbidden (so perhaps someone else can provide a better answer?), but the documentation warns that it is impossible to create foreign keys for this type of relation and an eager join would be quite complex. Most likely Hibernate doesn't support join fetch for @Any and will read the relations with separate selects later instead. If so you can use @BatchSize to read many relations with one select, avoiding the N+1 problem.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Mar 9 at 8:01









        ewramnerewramner

        3,96121226




        3,96121226





























            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%2f55075116%2fjoin-query-for-any-type-mapping-on-hibernate%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

            1928 у кіно

            Захаров Федір Захарович

            Ель Греко