2012-03-09 63 views
2

代我想使用自定义的类象ID复合ID及其在JPA

@javax.persistence.Embeddable 
class ObjectID impements Serializable{ 
private Long value;  
    //setters, getters and other 
} 

这里被映射类

@Entity 
@IdClass(ObjectID.class) 
public class Country implements Serializable 
{ 
    @Id 
    @AttributeOverride(name = "value", column = @Column(name = "id")) 
    @SequenceGenerator(name = "CountrySequenceGenerator", 
         sequenceName = "lab_country_seq") 
    @GeneratedValue(strategy = GenerationType.SEQUENCE, 
        generator = "CountryCountryGenerator") 
    private ObjectID value; 
    // setters, getters, fields 
} 

不工作。没有产生价值。任何想法,我怎样才能生成复合ID的ID?

+0

什么是CountryCountryGenerator? – wallenborn 2012-03-09 15:38:54

+0

“复合ID”与单个字段?这个组合怎么样?复合id有多个字段 – DataNucleus 2012-03-09 16:35:20

回答

0

Id类必须是Serializable并实现hashCode并等于

+0

我拥有所有这些在我ObjectID类。 – Ilya 2012-03-09 11:36:09

+0

请参见[复合ID及其在JPA中的生成](http://stackoverflow.com/q/9632942/651140) – 2012-03-09 11:37:26

+2

它链接在“this” – Ilya 2012-03-09 11:39:34