Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Secondary table

 
rani vini
Greenhorn
Posts: 24
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How can map these two tables using secondary table
Table EMP
ID NUMBER primarykey, EMPNAME VARCHAR2(15)
Table DEPT
EMPID NUMBER , DEPTNAME VARCHAR2(15)

Where EMPID refers to the ID column of EMP

My mapping calss is like below
@Entity
@Table(name="emp")
@SecondaryTable(name="dept")
@PrimaryKeyJoinColumn( name = "EMPID", referencedColumnName = "ID")
public class Employee {
@Id
@GeneratedValue(strategy=GenerationType.AUTO, generator="EMP")
@SequenceGenerator(name="EMP", sequenceName="SEQ_EMP")
long Id;


@Column(name="EMPNAME")
String empName;

@Column(table="dept")
String deptName;

When I try to persist like below

Employee empObj = new Employee();
empObj.setEmpName("emp1");
empObj.setDeptName("dept1");
em.persist(empObj);

It is displayign the Sql statements like
Hibernate: insert into emp (EMPNAME, Id) values (?, ?)
Hibernate: insert into dept (deptName, Id) values (?, ?)
In DEPT table there is no "ID" column. So Iam getting error.
The insert Statement for DEPT should contain "DEPTNAME and EMPID" instead of "DEPTNAME AND ID"

Can anyone help?
 
Leonardo Carreira
Ranch Hand
Posts: 489
Eclipse IDE Java Postgres Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi rani vini..

May i know your goal using Secondary Table ?..
Thanks in advance...
 
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper
Posts: 4968
1
Hibernate Spring Tomcat Server
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Could it be the referencedColumnName = "ID" element?

-Cameron McKenzie
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic