请教高手,我有两个对象是一对多和多对一的关系,其中多对一(Wbsitem)表里面有外键WBS_ID引用一对多方(WBS表)
我在JUNIT里面写了个测试方法保存WBS对象时级联保存WBSITEM对象,但总是不成功。网上有的说是把javax.pesistence.cascade、cascadetype换成hibernate.annotation.cascade、cascadetype但还是不行!控制台发出的操作语句为插入WBS表如INSRT INTO WBS(....) VALUE(...)  WBSITEM表UPDATE WBSITEM SET ... WHERE..这是为什么呢,
下面是我的代码
@Entity
@Table(name="t_Wbs")
public class Wbs implements java.io.Serializable { /**
 * 
 */
@Transient
private static final long serialVersionUID = 1L;
// Fields
@Id
@GeneratedValue(generator = "c-assigned")     
@GenericGenerator(name = "c-assigned", strategy = "assigned")     
@Column(name="wbsid")
private String wbsid;

@OneToOne()
@Cascade(value=CascadeType.SAVE_UPDATE)
@JoinColumn(name="prjid",referencedColumnName="prjid",unique=true)
private Projects projects;

@Column(name="layer")
private int layer;

@Column(name="rootitemid")
private String rootitemid;

@Column(name="creator")
private String creator;

@OneToMany(fetch=FetchType.EAGER,targetEntity=Wbsitem.class,mappedBy="wbs",cascade=javax.persistence.CascadeType.ALL)
@Cascade(value={CascadeType.ALL})
@JoinColumn(name="wbs_id")
private Set<Wbsitem> wbsitems;@Entity
@Table(name="t_Wbsitem")
public class Wbsitem implements java.io.Serializable { /**
 * 
 */
private static final long serialVersionUID = 1L; // Fields
@Id
@GeneratedValue(generator = "c-assigned")     
@GenericGenerator(name = "c-assigned", strategy = "assigned")  
@Column(name="wbsitemid")
private String wbsitemid;

@ManyToOne
//@Cascade(value=CascadeType.ALL)
@JoinColumn(name="wbs_id" ,insertable=true,updatable=false)
private Wbs wbs;

@Column(name="title")
private String title;

@Column(name="description")
private String description;

@OneToMany(targetEntity=Wbsitemhierarchy.class,mappedBy="wbsitem")
@Cascade(value=CascadeType.ALL)
//@OnDelete(action=OnDeleteAction.CASCADE)
private Set<Wbsitemhierarchy> wbsitemhierarchies;
测试方法 @Test
@Rollback(false)
public void testManyToOne() 
{
Wbs wbs=new Wbs();
try {

wbs.setCreator("me");
wbs.setWbsid("wbs001");
wbs.setLayer(4); } catch (HibernateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch(Exception ex)
{
ex.printStackTrace();
}
Set items=new HashSet();

Wbsitem item =null;
for(int i=0;i<5;i++)
{
item=new Wbsitem();
item.setWbs(wbs);
item.setWbsitemid("wi00"+String.valueOf(i));
item.setTitile(String.valueOf(i));
items.add(item);

//this.entityDao.save(item);
}
wbs.setWbsitems(items);
this.entityDao.save(wbs);
}