JPA注释和SQL表

时间:2011-02-28 23:00:50

标签: java sql jpa entity

我只是快速提问。如果我有这样的SQL脚本:

create table person(
    phoneNumber int
    name varchar(100) not null
    primary key(phoneNumber, name)
);

如何使用JPA Annotations在Java中为此设置实体类?

到目前为止,我有这个:

@Entity
public class Person {


    @Column(name="phoneNumber")
    public int phoneNumber;


    @Column(name="name" length=255)
    public String name;


}

2 个答案:

答案 0 :(得分:2)

  • 您需要课程上的@Table("person")
  • 您需要@IdClass@EmbeddableId来指定主键。检查那些文件的准确性。 @IdClass稍微容易一些。

答案 1 :(得分:0)

看看这个:

http://download.oracle.com/docs/cd/B32110_01/web.1013/b28221/cmp30cfg001.htm

基本上,你拥有的是复合主键。您最终得到的是一个封装主键字段的MemberOFPK类,然后您的MemberOf类将具有EmbeddedID或两个@ID类,具体取决于您是否使主键类可嵌入。