Note that there are some explanatory texts on larger screens.

plurals
  1. POHibernate -- Using @SecondaryTable, @OneToMany
    text
    copied!<p>(Simplified Example below)</p> <p>I'm trying to map one POJO class with 2 DB tables and also creating a OneToMany association. Here is how the class looks like..</p> <pre><code>@Entity @Table(name = "external_data") @SecondaryTable(name = "external_data_hierarchy") public class ExternalData { private int externalDataId; @OneToMany(fetch = FetchType.LAZY) @JoinTable(name = "external_data_hierarchy") @JoinColumn(name = "external_data_parent_id") private List&lt;ExternalData&gt; children; .. } </code></pre> <p>Here are the tables..</p> <pre><code>mysql&gt; desc external_data; +------------------+--------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +------------------+--------------+------+-----+---------+----------------+ | external_data_id | int(11) | NO | PRI | NULL | auto_increment | +------------------+--------------+------+-----+---------+----------------+ 5 rows in set (0.06 sec) mysql&gt; desc external_data_hierarchy; +----------------------------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------------------------+---------+------+-----+---------+----------------+ | external_data_hierarchy_id | int(11) | NO | PRI | NULL | auto_increment | | external_data_parent_id | int(11) | YES | MUL | NULL | | | external_data_child_id | int(11) | YES | MUL | NULL | | +----------------------------+---------+------+-----+---------+----------------+ 3 rows in set (0.00 sec) Note: "external_data_parent_id" and "external_data_child_id" columns refer external_data.external_data_id column. </code></pre> <p>As you can tell, I'm trying to store parent-child relationship in a different table. Now, when I try create() on ExternalData without setting the children, it works. When I try to fetch this created data using ExternalData.getChildren() I get the following exception..</p> <pre><code>[main] WARN in [org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:100)] - SQL Error: 1054, SQLState: 42S22 [main] ERROR in [org.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:101)] - Unknown column 'externalda0_1_.external_data_id' in 'on clause' </code></pre> <p>What am I doing wrong?</p>
 

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