有两张表
jrunFcolumn表   
id(主键) , titlejrunScolumn表
id(主键) ,article,fcolumn_id(第一张表的外键)然后我用hibernary 自动生成实体两张表分别是这样的jrunFcolumn表
private Integer id;
private String title;
private Set jrunScolumns = new HashSet(0);jrunScolumn表
private Integer id;
private String article;
private JrunFcolumn jrunFcolumn;问题是这样的,我第二张表有个fcolumn_id字段,自动生成实体后它变成了上面红色字体部分,我在做添加的时候,第二个自动生成的实体表没有fcolumn_id这个属性,我要怎么给第二张表添加外键值 ,望大侠指教!!

解决方案 »

  1.   

    JrunFcolumn里就有ID了~~一对多的关系就是这样
      

  2.   

    hibernary 是什么,是hibernate吗?外键不就是包括jrunFcolumn的一个对象吗,你设private JrunFcolumn jrunFcolumn;的主键不就是jrunFcolumn表的外键吗
      

  3.   


    第二张的映射表是有 fcolumn_id
    <hibernate-mapping>
        <class name="com.extra.pojo.JrunScolumn" table="jrun_scolumn" catalog="jsprun">
            <id name="id" type="java.lang.Integer">
                <column name="id" />
                <generator class="native" />
            </id>
            <many-to-one name="jrunFcolumn" class="com.extra.pojo.JrunFcolumn" fetch="select">
                <column name="fcolumn_id" />
            </many-to-one>
            <property name="article" type="java.lang.String">
                <column name="article" length="2000" />
            </property>
        </class>
    </hibernate-mapping>现在我就是不懂添加语句要怎么写,要怎么给那个id赋值
    我是用自动注入实体添加的
    JrunScolumn.setJrunFcolumn();想这样赋值,可是又不行.....
      

  4.   

    jrunFcolumn表的映射:<many-to-one name="jrunFcolumn" column="jrunScolumn_Id" 
    class="jrunScolumn"/>jrunScolumn表的映射:
    <set name="jrunScolumns ">
       <key column="jrunScolumn_Id"></key>
       <one-to-many class="jrunFcolumn"/>
      </set>
    试试行不行
      

  5.   

    倒了。这名字起的
    jrunFcolumn表的映射:Set<JrunScolumn> jrunScolumns = new HashSet<JrunScolumn>();
    <set name="jrunScolumns">
        <key column="jrunFcolumn_id"></key>
        <one-to-many class="JrunScolumn"/>
    </set>
    jrunScolumn表的映射:JrunFcolumn jrunFcolumn;
    <many-to-one name="jrunFcolumn" column="jrunFcolumn_id" class="JrunFcolumn"/>
      

  6.   

      - -这东西还真基础得很~  他外键延伸出来的就是一个相应的实体吖~ 只要在数据库里查出来的,然后赋值给实体, 你sava/update的时候,Hibernate自动会吧外键弄上得
      

  7.   

    jrunFcolumn.id就可以等于你建的那个fcolumn_id
      

  8.   

    我现在不需要查,就是要直接添加一条语句,action是这样的
    public String add()
    {
    ac.add(jrunScolumn);
    return  "succeed";
      

  9.   

     外键不需要手动去设置的,在hibernate的配置文件中配置了关联的。
      

  10.   

    我现在不需要查,就是想直接添加一条语句,action是这样的
    public String add()
    {
    jrunScolumn.set..(这里我要添加一条记录同时给那个外键赋值,但是实体没有那个外键属性了,我要怎么赋值)
    ac.add(jrunScolumn);
    return "succeed";
    }
    这里想了很久不明白,请高人指点