You can use:
- annotate the component property as @Id and make the component class @Embeddable
- annotate the component property as @EmbeddedId
- annotate the class as @IdClass and annotate each property of the entity involved in the primary key with @Id
Please refer to
this linkAm1rr3zA wrote:
Hi I have this table:
CREATE TABLE `buildingtel` (
`username` varchar(50) NOT NULL,
`buildingname` varchar(50) NOT NULL,
`tel` varchar(15) NOT NULL,
PRIMARY KEY (`username`,`buildingname`,`tel`),
KEY `FK_buildingtel_2` (`buildingname`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
How can i Map these to and Java entity
I can do like this:
@Entity
@Table(name = "btel")
public class Btel {
@Id
@GeneratedValue
@Column(name = "id")
private int id;;
@Column(name = "username", length=50)
private String username;
@Column(name = "buildingname", length=50)
private int buildingname;
@Column(name = "tel", length=15)
private int tel;
//some setter & getter
}
but i want to set (`username`,`buildingname`,`tel`) together as a primary key how I can do it by annotation in hibernate