JPA:与id之外的其他列的关系

时间:2011-04-28 16:06:44

标签: java jpa

当我与实体一对一地建立关系时,JPA使用id来注册目标;但是我想要另一个专栏。怎么可能?

例如,我有两个实体:

@Entity
public class Target
{
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private String id;

  @Column(unique=true, nullable=false)
  private String code;

 // and so on 
}

这是一个包含列ID和CODE的表。

第二个带有Coder链接的实体:

@Entity
public class ToTarget
{
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  private String id;

 private Target targeted;

 // and so on 
}

这是一个包含列ID和TARGET_ID的表。在TARGET_ID中,我在表Target中的列ID中有一些id。

一切都很好,但我应该在TARGET_ID中想要表Coder中的一些代码值。怎么可能?

感谢。

1 个答案:

答案 0 :(得分:3)

使用referencedColumnName注释的@JoinColumn属性。我不确定这个标准是否支持。它可能在某些实现中有效,而在其他实现中则无效。

请参阅http://docs.jboss.org/hibernate/stable/annotations/reference/en/html/entity.html#entity-mapping-association了解Hibernate,http://openjpa.apache.org/builds/2.1.0/apache-openjpa-2.1.0/docs/manual/manual.html#ref_guide_mapping_notes_nonstdjoins了解OpenJPA。