憋屈了半天,怎么建表还建不上了呢?比如Hibernate输出到控制台的:
create table blur_catalog (id integer not null, name varchar(255), keyWords varchar(255), imgPath varchar(255), catalog_id integer, description varchar(255), sort integer, savePath varchar(255), htmlLink tinyint, defaultName varchar(255), catalogType varchar(255), channelSkin varchar(255), listSkin varchar(255), articleSkin varchar(255), primary key (id))
怎么看都没错,费解,再看hbm.xml配置:
复制内容到剪贴板 程序代码
create table blur_catalog (id integer not null, name varchar(255), keyWords varchar(255), imgPath varchar(255), catalog_id integer, description varchar(255), sort integer, savePath varchar(255), htmlLink tinyint, defaultName varchar(255), catalogType varchar(255), channelSkin varchar(255), listSkin varchar(255), articleSkin varchar(255), primary key (id))
怎么看都没错,费解,再看hbm.xml配置:
复制内容到剪贴板 程序代码
<!-- self -->
<many-to-one name="parentCatalog" column="catalog_id"
class="com.blur.myHibernate.po.article.Catalog">
</many-to-one>
<many-to-one name="parentCatalog" column="catalog_id"
class="com.blur.myHibernate.po.article.Catalog">
</many-to-one>
Tags: 无聊
一、每个子类对应一个数据表(Table per concrete class)
学生表
create table `sample`.`student`(
`id` bigint not null auto_increment,
`name` varchar(20) default "" not null,
`score` float,
primary key (`id`)
);
create unique index `PRIMARY` on `sample`.`student`(`id`);
教师表
create table `sample`.`teacher`(
`id` bigint not null auto_increment,
`name` varchar(20) default "" not null,
`salary` float(6,2),
primary key (`id`)
);
create unique index `PRIMARY` on `sample`.`teacher`(`id`);
Tags: 继承 joined-subclass
在具体的项目应用中,我们很少会用到一对一的级联操作,且很多时候一对一的操作可以通过多对一实现,但是一对一有自己的好处,就是在任何时候都能保证主外键数据的一致性,但是多对一的情况下未必能做到.
我在项目中具体用到了一对一的级联操作,从网上拿了 一个例子来做,但是没有成功,于是只好自己研究,现在把修改后的代码帖出来.
本例子使用hibernate3.jar+oracle数据库
库表:
TestMain.java
我在项目中具体用到了一对一的级联操作,从网上拿了 一个例子来做,但是没有成功,于是只好自己研究,现在把修改后的代码帖出来.
本例子使用hibernate3.jar+oracle数据库
库表:
引用内容
CARD_TEST(CARDID[NUMBER(18)],CARDNUM[VARCHAR2(20)])
USER_TEST(USERID[NUMBER(18)],USERNAME[VARCHAR2(20)])
USER_TEST(USERID[NUMBER(18)],USERNAME[VARCHAR2(20)])
TestMain.java
Tags: one-to-one 一对一
one to one 是一种数据库中的一对一的关系,比如在中国一个人只有一张身份证,人跟身份证就是一对一的关系,在hibernate中怎么实现这个做法了,这里数据库有两个 表,一个是user,一个是card,先为他们建一个对应的form类,在User类建一个 Card card对象,在Card类建一个User user对象,这样实现持久化中的你中有我,我中有你,hibernate当中肯定少不了的就是配置各个表的信息了。
以下是配置User表:
以下是配置User表:
复制内容到剪贴板 程序代码
<hibernate-mapping>
<class name="org.tinna.User" table="user">
<class name="org.tinna.User" table="user">
Tags: one-to-one 一对一