Java Developer
Java Developer

Reputation: 1901

How to make primary key as foreign key in same table in Annotation Based Hibernate?

In My Hibernate Annotation based Application... i'm creating the table like this..

    CREATE  TABLE IF NOT EXISTS `EC_USER` (
  `S_ID` VARCHAR(30) NOT NULL PRIMARY KEY,
`CREATED_DATE` DATETIME NULL ,
`MODIFIED_BY` VARCHAR(30) NULL ,
 CONSTRAINT `CREATED_BY`
    FOREIGN KEY (`CREATED_BY` )
    REFERENCES `EC_USER` (`S_ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `MODIFIED_BY`
    FOREIGN KEY (`MODIFIED_BY` )
    REFERENCES `EC_USER` (`S_ID` )
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)

So HOw to write my Hibernate Bean...

@Entity
@Table(name = "EC_USER")
public class UserVO{
@Id
@Column(name="S_ID")
private String id;
@Column(name = "CREATED_DATE")
private Date createdDate;
@Column(name = "LAST_MODIFIED_DATE")
private Date modifiedDate;
}

So this is Correct one or any relation mapping Required...

Upvotes: 2

Views: 4643

Answers (1)

ams
ams

Reputation: 62632

Assuming there is a CREATED_BY AND MODIFIED_BY columns you could write

@Entity
@Table(name = "EC_USER")
public class UserVO{
@Id
@Column(name="S_ID")
private String id;
@Column(name = "CREATED_DATE")
private Date createdDate;
@Column(name = "LAST_MODIFIED_DATE")
private Date modifiedDate;

@ManyToOne
@JoinColumn(name="created_by")
private UserVO createdBy; 


@ManyToOne
@JoinColumn(name="modified_by")
private UserVO modifiedBy; 

}

Upvotes: 5

Related Questions