用hibernate做文章模块时的困惑(菜鸟问题)高分求解
在数据库中,我的"文章信息"表和"文章类别信息"表分别如下:
<<<<<文章信息>>>>>
文章ID int
文章标题 varchar(200)
文章类别ID int
发布人 varchar(200)
文章内容 text
发布日期 datetime
其它的一些字段.....
<<<<<文章类别信息>>>>>
文章类别ID int
类别名称 varchar(100)
类别描述 varchar(2000)
现在我想问的是,在设计这两个表在java中的PO:Article和ArticleCatalog,它们的属性应该怎么样设计呢?其它我特别想知道的是Article的类别属性应该是个什么样子的?是int型的呢?还是ArticleCatalog对象型的呢?而且这样设了之后,它们的xml映射应该相应的什么配置呢?什么one to many之间的,搞不懂....
我做这个的时候,我的po完全是根据数据库中的字段来生成对应java对象中的相应属性,感觉在编程的时候,还没有体会到hibernate的乐趣,又看了一些书,说应该将有些po的属性设计成对象属性,如上面所说的Article的文章类别属性,应该设计成ArticleCatalog.
我现在搞不懂了.
所以在这里我想知道,Article.hbm.xml和ArticleCatalog.hbm.xml文件应该怎么配置(包括它们之间的映射关系),还有在编程时,怎么做.你们最好能给我一个"保存文章"的一段代码.可以不用很详细,但是关键地方应该说清楚就行了,要让我看得懂
为了方便,我附上我的一些代码,方便你们:
public class Article {
// Fields
private Integer id;//文章编号
private String title;//文章标题
private Integer catalogId;
//文章类别编号,我这里是不是写错了???应该是???希望说明一下
//private ArticleCatalog catalog;
private String author;//发布人
private String articlefrom;//文章来源
private String content;//文章内容
private Date creDate;//发布日期
private Integer hit;//阅读次数
private String tag;//关键字
//........对应的get和set方法.......
}
public class ArticleCatalog {
// Fields
private Integer id;//文章类别编号
private String name;//类别名称
private String detail;//类别详细描述
//........对应的get和set方法.......
}
它们的*.hbm.xml配制文件如下:
<<<<<<<<<Article.hbm.xml>>>>>>>>>>>>>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.qichunren.cywlw.common.pojo.Article" table="Article" schema="dbo" catalog="WanzhouCanYinDB">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native"></generator>
</id>
<property name="title" type="java.lang.String">
<column name="title" length="200" />
</property>
<property name="catalogId" type="java.lang.Integer">
<column name="catalogId" />
</property>
<property name="author" type="java.lang.String">
<column name="author" length="200" />
</property>
<property name="articlefrom" type="java.lang.String">
<column name="articlefrom" length="300" />
</property>
<property name="content" type="java.lang.String">
<column name="content" />
</property>
<property name="creDate" type="java.util.Date">
<column name="creDate" length="23" />
</property>
<property name="hit" type="java.lang.Integer">
<column name="hit" />
</property>
<property name="tag" type="java.lang.String">
<column name="tag" length="500" />
</property>
</class>
</hibernate-mapping>
和
<<<<<<<<<ArticleCatalog.hbm.xml>>>>>>>>>>>>>
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.qichunren.cywlw.common.pojo.ArticleCatalog" table="ArticleCatalog" schema="dbo" catalog="WanzhouCanYinDB">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native"></generator>
</id>
<property name="name" type="java.lang.String">
<column name="name" length="200" />
</property>
<property name="detail" type="java.lang.String">
<column name="detail" length="5000" />
</property>
</class>
</hibernate-mapping>
这是MyEclipse自动生成的,我想里面应该加上一些东西吧,如one to many之类的.
高手们给我改一下配置和获取文章List的方法和保存文章的方法吧
等我一明白就给分,如果不够,发加帖帖子给分!!!,谢谢你们了.