@OneToMany(mappedBy="troop")
就是指Soldier 中的 troop 属性。troop_fk 指相关联的外键字段名称

解决方案 »

  1.   

    Soldier中的属性troop是不是要和外键troop_fk一致,刚才做了测试。如果不一致,生成的soldier表的字段名会以外键为准。不知道这样getTroop,是否还能得到Troop.
    比如@JoinColumn(name="troop_fk"),soldier字段是troop_fk. 这样就会和属性troop不对应。
    不知道这样getTroop(),是否还能得到Troop
      

  2.   

    Soldier中的属性troop是不是要和外键troop_fk一致
    -----------------
    很显然不必一致 ...
    如果不指定 name="troop_fk" ,它默认为troop_id(即类名简写+"_id")