Note that there are some explanatory texts on larger screens.

plurals
  1. POJPA, Spring, Hibernate problem with loading entities ManyToMany Assotiation
    primarykey
    data
    text
    <p>I'm trying to get data from assotiation N:N, but I receive blank field.<br> There are my Hibernate mapping class:</p> <pre><code>@Entity @Table(name = "companies") public class Company extends NamedEntity { //some_code @ManyToMany( targetEntity = com.hqcargo.shippingstock.domain.CompanyProfile.class, cascade = {CascadeType.ALL, CascadeType.ALL }, fetch = FetchType.EAGER ) @JoinTable( name = "company_company_profiles", joinColumns = {@JoinColumn( name = "company_id", referencedColumnName = "id") }, inverseJoinColumns = {@JoinColumn( name = "company_profile_id", referencedColumnName = "id") } ) private List&lt;CompanyProfile&gt; profiles; // getters and setters + other code </code></pre> <p>other class:</p> <pre><code>@Entity @Table(name = "company_profiles") public class CompanyProfile extends NamedEntity { //some_code @ManyToMany( targetEntity = com.hqcargo.shippingstock.domain.Company.class, cascade = {CascadeType.ALL, CascadeType.ALL }, mappedBy = "profiles", fetch = FetchType.EAGER ) @JoinTable( name = "company_company_profiles", joinColumns = {@JoinColumn( name = "company_profile_id", referencedColumnName = "id") }, inverseJoinColumns = {@JoinColumn( name = "company_id", referencedColumnName = "id") } ) private List&lt;Company&gt; companies; // getters and setters + other code </code></pre> <p>This classes works fine with saving but not with loading data.<br> Below I add DAO class:</p> <pre><code>public class CompanyJpaDAO extends JpaDaoSupport implements CompanyDAO { @Transactional(readOnly = true) public Company readById(Long id) { Company tempCompany = getJpaTemplate().find(Company.class, id); return tempCompany; } } @Transactional public void update(Company existingInstance) { if (existingInstance.isNew()) { throw new InvalidDataAccessApiUsageException( "Can't update record. Given instance don't have assigned ID"); } save(existingInstance); } </code></pre> <p>when I update every is ok (generated sql by Hibernate):</p> <pre><code>251252 [13627369@qtp-8132032-9] DEBUG org.hibernate.SQL - update companies set name=?, where id=? Hibernate: update companies set name=?, where id=? 251295 [13627369@qtp-8132032-9] DEBUG org.hibernate.SQL - insert into company_company_profiles (company_id, company_profile_id) values (?, ?) Hibernate: insert into company_company_profiles (company_id, company_profile_id) values (?, ?) </code></pre> <p>but when I load data i don't get info from company_company_profiles (sql generated by Hibernate)</p> <pre><code>36088 [13507994@qtp-8132032-13] DEBUG org.hibernate.SQL - select companies0_.company_profile_id as company2_8_, companies0_.company_id as company1_8_, company1_.id as id3_0_, company1_.name as name3_0_, from company_company_profiles companies0_ left outer join companies company1_ on companies0_.company_id=company1_.id where companies0_.company_profile_id=? Hibernate: select companies0_.company_profile_id as company2_8_, companies0_.company_id as company1_8_, company1_.id as id3_0_, company1_.name as name3_0_, from company_company_profiles companies0_ left outer join companies company1_ on companies0_.company_id=company1_.id where companies0_.company_profile_id=? </code></pre> <p>Do you see any mistakes in my code?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload