0
删除从映射表中的数据我有2个实体中有一个是头,另一种是项目无法休眠
头有很多项目
页眉代码如下
@Entity
public class Headertable {
@Id
@GeneratedValue
private int headerId;
private String headerText;
@OneToMany(mappedBy="itemId.header",cascade=CascadeType.ALL,fetch=FetchType.EAGER)
private List<Items> items = new ArrayList<Items>();
...
getter and setters for these
和项目表如下
@Entity
public class Items {
@EmbeddedId
private ItemId itemId;
private String itemData;
.... getter and setters for these
商品表id类
@Embeddable
public class ItemId implements Serializable{
@ManyToOne
private Headertable header;
private int itemId;
...setter and getters
下面是测试代码从邮件头中删除一个项如下
Session session = this.sessionFactory.openSession();
session.beginTransaction();
Headertable header = (Headertable) session.get(Headertable.class, 1);
Iterator<Items> iterator = header.getItems().iterator();
while(iterator.hasNext())
{
Items items = iterator.next();
if(items.getItemData().equals("chiru"))
{
iterator.remove();
}
}
session.saveOrUpdate(header);
Transaction transaction = session.getTransaction();
transaction.commit();
org.hibernate.MappingException:未知实体:org.hibernate.collection.internal.PersistentBag它引发此异常 – chiranjeevigk
不是集合,而是'Items'类型的变量'items'。 –