Hibernate基于注解的配置样例
实体类上的常用注解
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@Entity ( name = "ChristmasTree" ) @Table ( name = "T_CRISMS_TREE" ) //给自动生成的表添加注释 @org.hibernate.annotations.Table ( appliesTo = "T_CRISMS_TREE", comment = "圣诞树" ) @Cacheable //JPA注解,表示该类型的实体支持缓存 //启用二级缓存时有意义,指定Hibernate缓存策略、存放区域 @Cache ( usage = CacheConcurrencyStrategy.READ_WRITE, region = "entityCache" ) public class ChristmasTree { //集合属性的缓存策略必须单独配置 @Cache ( usage = CacheConcurrencyStrategy.READ_WRITE, region = "entityCache" ) private List branches; } |
使用注解方式进行对象-数据库映射时,应当以JPA注解为主,仅Hibernate特有的功能则使用其私有的注解类。
简单主键和简单属性映射
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
//简单的主键映射 @Id //该注解指明此实体的标识符属性,对应了关系型数据库的主键 @Column ( name = "ID", columnDefinition = "int(11) comment '主键'" ) private Integer id; //UUID方式的主键生成器配置,其它任何自定义的主键生成器可以依样扩展 @Id @Column ( name = "ID", columnDefinition = "varchar(36) comment '主键,36位UUID'" ) @GeneratedValue ( generator = "uuid" ) @GenericGenerator ( name = "uuid", strategy = "org.hibernate.id.UUIDGenerator" ) private String id; //可以指定普通属性的延迟加载 @Basic ( fetch = FetchType.EAGER, optional = true ) @Column ( name = "BUILD_COST", columnDefinition = "decimal(10,2) comment '建造费用'" ) private BigDecimal buildCost; //时间映射 //只能用于java.util.Date或者java.util.Calendar,用于表示日期、时间或者时间戳 @Temporal ( TemporalType.TIMESTAMP ) @Column ( name = "BUILD_TIME", columnDefinition = "datetime comment '建造时间'" ) private Date buildTime; //大字段映射 @Lob @Column ( name = "REMARK", columnDefinition = "longtext comment '圣诞树备注信息'" ) private String remark; //枚举类型映射 @Enumerated ( EnumType.ORDINAL ) //根据枚举元素的声明顺序,从0开始 @Column ( name = "STATUS", columnDefinition = "tinyint comment '状态'" ) private Status status; //乐观并发控制用列 @Version @Column ( name = "VERSION" ) public Integer version; |
复合主键映射
嵌入式(embeddable)对象映射
关联映射
继承映射
其它注解
阅读全文
15 years ago
0
Ubuntu下安装OpenSSH服务器和客户端
OpenSSH
安装
|
1 2 |
sudo apt-get install openssh-client sudo apt-get install openssh-server |
服务器配置
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#监听端口 Port 22 #启用证书方式登录 PubkeyAuthentication yes #启用登录欢迎横幅 Banner /etc/issue.net # 允许root通过密码登录 PermitRootLogin yes #每隔60秒发送一次心跳给客户端 ClientAliveInterval 60 #如果连续5次心跳客户端没响应,则断开连接 ClientAliveCountMax 5 |
客户端配置
服务器可以发起保活心跳,客户端也可以:
设置默认Identity
要修改当前用户的默认SSH Key的位置,使用配置文件:
免密码登录
使用puTTY登录
先输入Session名称,然后点击Save,才能保存;加载时要先点击名称,然后Load:
小键盘功能默认是输入不了数字的,需要改为:
中文乱码问题的解决(设置编码方式与服务器一致,默认UTF-8):
免密码…
阅读全文
15 years ago
0
Linux内核学习笔记(一)
Linux内核代码结构
| 代码目录 | 说明 |
| arch | 特定体系结构的代码 |
| block | 块I/O层 |
| crypto | 加密API |
| Documentation | 内核源代码文档 |
| drivers | 设备驱动 |
| firmware | 特定驱动需要的设备固件 |
| fs | VFS和各文件系统 |
| include | 内核头文件 |
| ini… |
15 years ago
0
jQuery知识集锦
简介
jQuery的核心是对DOM的封装。jQuery提供的所有方法,都是针对数组风格的jQuery元素集的。
本文中列出jQuery API时,所有以 .开头的,表示此API是元素集对象的一个方法,所有以 $开头的,表示此API是jQuery提供的静态函数。
核心和工具
核心函数
$()
该函数可以用于:
- 根据指定的CSS选择器查找匹配的元素
- 将一个元素DOM元素封装为jQuery元素集
- 根据传入的HTML文本创建新的元素集
$.ready
主要和ready()不一样。这是一个Thenable对象,其在文档加载完毕…
阅读全文
15 years ago
0
1
基于Eclipse CDT的wxWidgets开发环境搭建
Eclipse CDT环境的搭建请参考:基于Eclipse CDT的C/C++开发环境搭建
wxWidgets静态链接方式工程配置
- 创建源码目录:Sources、Headers、Resources,分别用于存放源码、头文件、资源文件
- C/C++ Build - Tool Chain Editor - Curre…
15 years ago
0
Cygwin知识集锦
基本知识
Cygwin简介
Cygwin是一个用于Windows操作系统下的类Linux环境。包括以下组件:
- cygwin1.dll:一个提供大量POSIX系统调用功能的模拟层,位于Cygwin程序与Windows操作系统之间。目前有32/64位版本支持Windows XP3之后的所有NT系统。cygwin1.dll提供的API尽可能的遵守UNIX规范、Linux…
15 years ago
0
Visual Studio知识集锦
IDE配置FAQ
全局配置FAQ
- 如何导入/导出样式主题?Theme ⇨ Customize Colors,左上角第2/3个按钮,分别执行导入/导出
- 如何导入/导出VS的设置?Tools ⇨ Import and Export Settings
- 如何清空查找(Fi…
15 years ago
0
使用Eclipse进行远程调试
一些基础知识
JPDA(Java Platform Debugger Architecture)是实现Java远程调试的基础,它是一个CS架构,包含三个组件:
- JVMTI(JVM Tool Interface ):服务端,即debuggee端。该接口代替JDK…
15 years ago
0


