[求教]Hibernate里面的sql-delete如何使用?

我使用的是Hibernate3.0beta4.
我尝试了,在hbm文件中加入


<sql-insert>Insert into phone(id, phonenumber) values(?,?)</sql-insert>

但是如何调用呢?

另外,我按照refernece上说的想要执行以下语句:


session.delete("from phone where phonenumber like %123%");

但是报错:

org.hibernate.MappingException: Unknown entity: java.lang.String
at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:489)

那么怎么使用session.delete()来批量删除呢?

你用的不正确

hibernate3的删除:
Query q = session.createQuery(sql);
q.executeUpdate();

executeUpdate
public int executeUpdate()
throws HibernateExceptionExecute the update or delete statement.

The semantics are compliant with the ejb3 Query.executeUpdate() method.

Returns:
The number of entities updated or deleted.
Throws:
HibernateException

讨论hibernate3.0的问题
欢迎大家来http://www.jsports.org

忘了说了:
这个session要用org.hibernate.Session

多谢回复!
但是,我这里还是出了点问题:


Query query = session.createQuery(" delete from Phone ");
query.executeUpate();

执行的时候仍然报错.
java.lang.NullPointerException
at org.hibernate.hql.antlr.HqlSqlBaseWalker.path(HqlSqlBaseWalker.java:2193)...

改成"from Phone"也不行.

能否给出一个例子?

另外,我想使用<sql-delete>来执行native SQL,但是写好了hbm文件之后,不知道如何使用java代码来调用,能否一并告知?