例如:二个object User和Order(订单表)一个User可以有多个Order
User表为User信息,并不一要知道Order信息。而每个Order都要知道User在Order里面
public class Order{
private User usr;
……
}但是在User里面没有任何Order的信息我是用xDoclet写的hbm.xml文件
写成如下:
在Order时里 /**
* @hibernate.many-to-one
* column="user_id"
* class="com.demo.model.User"
* not-null="true"
*
* @return 返回 user。
*/
public User getUser() {
return user;
}
在User里面因为我不想要任何Order的信息,所以没有写。存Order是没有任何问题的,但是在
Query query = session.createQuery("FROM order o Join User u WHERE LOWER(u.userID)=:userid");
query.setString("userid", userID.toLowerCase());
result = query.list();
报错
(hql.PARSER 35 ) *** ERROR: Path expected for join!
(hql.PARSER 35 ) *** ERROR: Invalid path: 'u.userID'
解决方案 »
- java如何读取存在sql server 库中的图片
- 奇怪的问题,循环显示正常,但是返回之后,DIV就被撑开了
- spring 3 + json 搞不定了,初学求教
- 在struts里大家一般用什么方法实现两个Action之间的数据传递?
- 用eclipse写struts时发现的问题,大家帮帮忙
- Apache的安装问题,在线等!!
- 如何建立.properties文件?
- 急______________>>>给分
- 问一个在不同分辨录下确定位置的问题。
- JDBC+websphere+sqlsever2000的连接设置问题
- 初学者的疑惑????
- 只剩30分了,在struts中select下拉列表中怎样动态添加内容?在线等...
因为在Order里面只有User对像
这个是HQL语言
不行,在Hibernate里面,Order 是一个Object,他已经没有userid这个属性了,只有User这个对象。
配置文件应该是
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd"> <hibernate-mapping> <class name="onlyfun.caterpillar.Order" table="ORDER"> <id name="id" column="ORDER_ID">
<generator class="increment"/>
</id> <property name="name">
<column name="NAME" length="16" not-null="true"/>
</property>
<many-to-one name="user"
column="USER_ID"
class="onlyfun.caterpillar.User"/>
</class> </hibernate-mapping>