JiveJdon Community Forums
在线295人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 3 回复 / 1
 发表新帖子   回复该主题贴
Ariel

悄悄话
发表文章: 7
注册时间: 2006年09月22日 11:16
HIBERNATE的自定义类型主键的映射?? 2006年09月22日 11:17 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表

有谁用过Hibernate的自定义类型主键映射吗??怎么可以正确映射??希望可以交流探讨!!


我是通过实现CompositeUserType接口,然后映射的时候用Composite-id语句的。但是不可以啊。具体映射如下:

<composite-id name="name" class="namezhujiantest.NameCompositeUserType">
<key-property column="name_value" type="string" name="value">
</key-property>
<key-property column="name_units" type="string" name="units">
</key-property>
</composite-id>

结果报错啊。请问大家做过的是怎么做的呢??
banq

悄悄话
发表文章: 9528
注册时间: 2002年08月03日 17:08
Re: HIBERNATE的自定义类型主键的映射?? 2006年09月26日 16:56 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
>自定义类型主键映射
使用assigned

但是,使用自己产生主键,会有很多问题,尤其处理父子关系时。
Ariel

悄悄话
发表文章: 7
注册时间: 2006年09月22日 11:16
Re: HIBERNATE的自定义类型主键的映射?? 2006年09月26日 20:55 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
首先非常感谢您的回复!!

您可以说的具体点吗?用assigned??

我也知道使用自然主键有一定的缺点,但现在我们设计就采用的是这种方法,所以请您指点下用assigned怎么做??
再次表示感激!
Ariel

悄悄话
发表文章: 7
注册时间: 2006年09月22日 11:16
Re: HIBERNATE的自定义类型主键的映射?? 2006年09月26日 22:20 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
我做的工作具体如下:
数据库(我用的是Postgresql)表中的主键是自定义类型的,要通过Hibernate映射为JAVA持久化类的自定义类型主键。程序代码如下,但总报错,恳请指点!

其中数据库表为:
CREATE TABLE kehuhuazhujiantest
(
name_value varchar(48) NOT NULL,
name_units varchar(48) NOT NULL,
address varchar(48),
CONSTRAINT id PRIMARY KEY (name_value, name_units)
)
WITHOUT OIDS;
ALTER TABLE kehuhuazhujiantest OWNER TO pgsql;

映射代码为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="namezhujiantest.Nameid_bean" table="kehuhuazhujiantest">

<composite-id name="name" class="namezhujiantest.NameCompositeUserType">
<key-property column="name_value" type="string" name="value">
</key-property>
<key-property column="name_units" type="string" name="units">
</key-property>
</composite-id>
<property name="address" type="string" column="address"/>
</class>
</hibernate-mapping>

JAVA类为:
Name.java为:
public class Name implements Serializable {
private String units;
private String value;
get,set方法……equals和hashCode方法……
NameCompositeUserType为:
NameCompositeUserType实现CompositeUserType。
Nameid_bean为:
private Name name;
private String address;
get和set方法……
测试文件是要求打印出name和address。
这个主题有 3 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  每2分种自动备份发贴内容Ctrl-V粘贴取出,提问题前先查询标签列表

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam