File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Object Relational Mapping and the fly likes Secondary table Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "Secondary table" Watch "Secondary table" New topic
Author

Secondary table

rani vini
Greenhorn

Joined: May 13, 2009
Posts: 24
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

Joined: Apr 07, 2009
Posts: 489

Hi rani vini..

May i know your goal using Secondary Table ?..
Thanks in advance...


Sorry, perhaps my english language isn't too good.. Prepare for SCJP 6, Please God help me.. ☼
References : [Java.Boot] [JavaChamp] [JavaPrepare]
Cameron Wallace McKenzie
author and cow tipper
Saloon Keeper

Joined: Aug 26, 2006
Posts: 4968
    
    1

Could it be the referencedColumnName = "ID" element?

-Cameron McKenzie
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Secondary table