当我与实体一对一地建立关系时,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中的一些代码值。怎么可能?
感谢。
答案 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。