一个文章表
一个评论表
一篇文章可以有多个评论,而一个评论只能对应一篇文章
关系图如下

用hibernate配置文件如下
article的配置文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.example.bean">
<class name="ArticleModel" table="article">
<id name="id" column="id">
<generator class="native"></generator>
</id>
<property name="body" column="body" />
<property name="likes" column="likes" />
<property name="create_time" column="create_time" />
<many-to-one name="user" class="UserModel" lazy="false">
<column name="user_id"></column>
</many-to-one>
<set name="imageSet" inverse="true" lazy="false">
<key column="article_id" />
<one-to-many class="ImageModel" />
</set>
<set name="commentSet" inverse="true" lazy="false">
<key column="article_id" />
<one-to-many class="CommentModel" />
</set>
</class>
</hibernate-mapping>
comment的配置文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.example.bean">
<class name="CommentModel" table="comment">
<id name="id" column="id">
<generator class="native" />
</id>
<property name="body" column="body" />
<property name="create_time" column="create_time" />
<many-to-one name="article" class="ArticleModel" lazy="false">
<column name="article_id"></column>
</many-to-one>
<many-to-one name="user" class="UserModel" lazy="false">
<column name="user_id"></column>
</many-to-one>
<many-to-one name="parentComment" class="CommentModel"
lazy="false">
<column name="parent_id"></column>
</many-to-one>
<many-to-one name="rootComment" class="CommentModel" lazy="false">
<column name="root_id"></column>
</many-to-one>
<set name="commentGrandChildSet" inverse="true" lazy="false">
<key column="root_id" />
<one-to-many class="CommentModel" />
</set>
<set name="commentChildSet" inverse="true" lazy="false">
<key column="parent_id" />
<one-to-many class="CommentModel" />
</set>
</class>
</hibernate-mapping>
用hql查询的时候出问题了
用下面这句代码没错
String hql = "from ArticleModel article";
这句代码会生成多句sql语句
而下面这句生成的sql是错误的(去掉article.commentSet可以成功,构造函数什么的都写了)
String hql = "select new ArticleModel(article.body,"
+ "article.user,"
+ "article.create_time,"
+"article.commentSet)"
+ "from ArticleModel article";
而我想实现的需求是查询出来部分属性,所以第一句不符合需求啊,而下面那一句又报错,不知道该怎么写了
------解决思路----------------------
en ~ bu ke qi