我有两个实体,比如A和C,现在他们是一对一,是外键关联的那种哦,A的配置为,C 的配置为 ,我想实现的是,
 情况一:当我更新A的时候如果也更新C,则如果原来没有对应C的则会插入一条C的数据,如果有对应C的,则更新这条C的数据。
 情况二:如果我插入一条A数据则有可能会插入对应的C也有可能不插入(因为C不一定需要)。
 敢问各位,上面的情况hibernate能实现吗, 试过了配置好像都不可以!具体的配置要怎么样的,谢谢了

解决方案 »

  1.   

    当然没发实现了,这需求有问题好吧!
    如果原来没有对应C的则会插入一条C的数据请问这条数据是从哪里来的不过这个模型倒是可以实现public calss A{
    private int id;
    private B b;
    //getter
    //setter
    }
    public calss B{
    private int id;
    //getter
    //setter
    }
    <hibernate-mapping>
    <class name="A" table="t_A">
    <id name="id">
    <generator class="native" />
    </id>
    <many-to-one name="b" column="b_id" unique="true" cascade="save-update"/>
    </class>
    </hibernate-mapping>
    <hibernate-mapping>
    <class name="B" table="t_B">
    <id name="id">
    <generator class="native"/>
    </id>
    </class>
    </hibernate-mapping>
      

  2.   

    就一般的一对一配置,在插入A时,不需要插入C,吧C赋值为null他就不插入
      

  3.   

     情况一:当我更新A的时候如果也更新C,则如果原来没有对应C的则会插入一条C的数据,如果有对应C的,则更新这条C的数据。
      情况二:如果我插入一条A数据则有可能会插入对应的C也有可能不插入(因为C不一定需要)。