情况是这样的
perosn 表           project表
person_id  name      projec_id  name person_idproject表和person表式多对一的关系。如果用Hibernate配置文件类可以这么写public class Project
{
   private long projectId;
   private String  name;
   private long personId
   private Person person;
}
<class name="Project" table="PROJECT" >
      <id name="projectId" type="java.lang.Long">
           <column name="PROJECT_ID" length="12" />
           <generator class="assigned" />
      </id>
      <property name="name" type="java.lang.String">
            <column name="NAME" />
      </property>
      <property name="personId" type="java.lang.Long">
            <column name="PERSON_ID" length="3" />
      </property>
      <many-to-one name="person" class="Person">
   <column name="PERSON_ID"></column>
      </many-to-one>这样有个好处就是在我们增加一个project时候不用去new一个person就可以保存了。
查询的时候可以直接用project中的person来级联查询。
现在我想用hibernate中@标注的方式来这样使用。但如果把两个都@Entity
@Table(name = "PROJECT")
public class Project
{
   @Id
   @Column(name = "PROJECT_ID", nullable = false)
   @GeneratedValue(strategy = GenerationType.SEQUENCE)
   private long projectId;   @Column(name = "NAME")
   private String  name;   @Column(name = "PERSON_ID")
   private long personId   @ManyToOne
   @JoinColumn(name="PERSON_ID")
   private Person person;
}
这样写是肯定不行的。提示是不能重复对应两个
Caused by: org.hibernate.MappingException: Repeated column in mapping for entity:请问如果我像配置文件一样使person_id的话我应该怎么配置?