社区
Java EE
帖子详情
hibernate里怎么将string类型的字段映射为主键?
izhaohan
2008-06-14 11:26:04
hibernate里怎么将string类型的字段映射为主键?
...全文
76
2
打赏
收藏
hibernate里怎么将string类型的字段映射为主键?
hibernate里怎么将string类型的字段映射为主键?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
izhaohan
2008-06-15
打赏
举报
回复
谢谢!
heting1024
2008-06-14
打赏
举报
回复
<id name="customerName" type="java.lang.String">
<column name="customerName" length="20" />
<generator class="assigned"></generator>
</id>
<property name="sex" type="java.lang.String">
<column name="sex" length="10" />
</property>
Hibernate
中文API大全
依赖对象(Dependent objects) 组件(Component)是一个被包含的对象,在持久化的过程中,它被当作值
类型
,而并非一个实体的引用。在这篇文档中,组件这一术语指的是面向对象的合成概念(而并不是系统构架层次上的组件的概念)。举个例子, 你对人(Person)这个概念可以像下面这样来建模: public class Person { private java.util.Date birthday; private Name name; private
String
key; public
String
getKey() { return key; } private void setKey(
String
key) { this.key=key; } public java.util.Date getBirthday() { return birthday; } public void setBirthday(java.util.Date birthday) { this.birthday = birthday; } public Name getName() { return name; } public void setName(Name name) { this.name = name; } ...... ...... } public class Name { char initial;
String
first;
String
last; public
String
getFirst() { return first; } void setFirst(
String
first) { this.first = first; } public
String
getLast() { return last; } void setLast(
String
last) { this.last = last; } public char getInitial() { return initial; } void setInitial(char initial) { this.initial = initial; } } 在持久化的过程中,姓名(Name)可以作为人(Person)的一个组件。需要注意的是:你应该为姓名的持久化属性定义getter和setter方法,但是你不需要实现任何的接口或申明标识符
字段
。 以下是这个例子的
Hibernate
映射
文件: <!-- class attribute optional --> 人员(Person)表中将包括pid, birthday, initial, first和 last等
字段
。 就像所有的值
类型
一样, 组件不支持共享引用。 换句话说,两个人可能重名,但是两个Person对象应该包含两个独立的Name对象,只不过这两个Name对象具有“同样”的值。 组件的值可以为空,其定义如下。 每当
Hibernate
重新加载一个包含组件的对象,如果该组件的所有
字段
为空,
Hibernate
将假定整个组件为空。 在大多数情况下,这样假定应该是没有问题的。 组件的属性可以是任意一种
Hibernate
类型
(包括集合, 多对多关联, 以及其它组件等等)。嵌套组件不应该被当作一种特殊的应用(Nested components should not be
hibernate
中的
映射
配置详解
1. 普通
字段
类型
2.
主键
映射
单列
主键
映射
多列作为
主键
映射
主键
生成策略,查看api: 5.1.2.2.1. Variousadditional generators 数据库: 一个表能否有多个
主键
? 不能。 为什么要设置
主键
? 数据库存储的数据都是有效的,必须保持
Hibernate
的
映射
类型
hibernate
mysql
映射
类型
1、
Hibernate
的
映射
类型
hibernate
mysql
映射
类型
Hibernate
映射
类型
Java
类型
标准 SQL
类型
大小和取值范围 integer 或者 int int 或者 java.lang.Integer INTEGER 4 字节
Hibernate
映射
文件之
映射
主键
Hibernate
使用<id/>元素来
映射
主键
。 <id name="" type="" column="" access="" unsaved-value="" length="" node=""> <generator class=""/>
hibernate
中
主键
的
类型
笔记
identity:由底层数据库生成标识符。identity是由数据库自己生成的,但这个
主键
必须设置为自增长,前提条件是低层数据库支持自动增长
字段
类型
increment:由
hibernate
管理
主键
,自动以递增的方式生成标识符,每次增量为1。其在每次插入前取得一个当前最大的id+1作为
主键
,该
主键
必须为Integer
类型
“assigned”
主键
由外部程序
Java EE
67,513
社区成员
225,879
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章