使用JPA和Hibernate实现组合键

问题定义

本技巧从问题的简单的描述开始:定义组合数据库键。这个键组合了多列,唯一地定义一个数据库表的行。有时,组合键也称为自然键 或业务键。某些时候使用组合键的原因是所选键在某些方面与最终用户的业务领域相关联。要定义组合键,只需从该领域中选择一些属性,并将其组合在一起,提供所需的行唯一性程度。组合键的缺点是设计和编码略有难度。此外,组合键倾向于将您的数据库和 ORM 设计绑定到原始领域。后者可能会成为严重的问题。

实体代码

清单 1 展示了一个名为 BillingAddress 的 Java 类。该类建模一名个人或一个组织的账单邮寄地址。账单本身与另一个名为 PurchaseOrder 的 Java 类关联。这里并没有什么出人意料之处 — 下置购买订单,接下来进行账单邮寄流程。

清单 1. BillingAddress 类

import javax.persistence.*;
import java.io.Serializable;

@Embeddable
public class BillingAddress implements Serializable {

   private String street;
   private String city;

   BillingAddress() {}

   public BillingAddress(String street, String city) {
     this.street = street;
     this.city = city;
   }

   public String getStreet() {
     return street;
   }

   private void setStreet(String street) {
     this.street = street;
   }

   public String getCity() {
     return city;
   }

   private void setCity(String city) {
     this.city = city;
   }
}

这里有必要说明一个要点,该类实现了 Java Serializable 接口。另外还要注意带有注释 @Embeddable 的一行。此注释是组合键拼图中的第一块。带有 @Embeddable 注释的 Java 类本身可作为其他类的子组件。这听起来似乎有点复杂,而实际并非如此。作为演示,清单 2 展示了 PurchaseOrder 类,它使用清单 1 中的 BillingAddress 类。

时间: 2016-01-28

使用JPA和Hibernate实现组合键的相关文章

判断鼠标双键按下(附键盘组合键)

帮你查了一下API,其中有段话可能你没注意看:The button mask returned by InputEvent.getModifiers() reflects only the button that changed state, not the current state of all buttons. (Note: Due to overlap in the values of ALT_MASK/BUTTON2_MASK and META_MASK/BUTTON3_MASK, t

selenium-webdriver(python) (十二) 键盘组合键用法

本节重点: l 键盘按键用法 l 键盘组合键用法 l send_keys() 输入中文运行报错问题 键盘按键键用法: #coding=utf-8 from selenium import webdriver from selenium.webdriver.common.keys import Keys #需要引入keys包 import os,time driver = webdriver.Firefox() driver.get("http://passport.kuaibo.com/logi

Word 2013中使用Ctrl+Alt+K组合键自动套用格式

在Word2013文档中,用户可以使用Ctrl+Alt+K组合键执行自动套用格式操作.使用该组合键进行自动套用格式时,Word2013将根据自动套用格式选项中的设置自动进行,不会出现任何提示. 首先选中需要应用自动套用格式的文本(如果不选中文本作用于全文),然后按下Ctrl+Alt+K组合键进行自动套用格式.如果应用自动套用格式后,存在不符合实际应用需要的情况,则可以在快速访问工具栏单击"撤销"按钮撤销当前操作.然后重新设置自动套用格式选项,并再次执行自动套用格式操作,如图201308

电脑高手最常用的五个组合键

winkey+d :     这是高手最常用的第一快捷组合键.这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口.     只要再次按下这个组合键,刚才的所有窗口都回来了,而且启动的也正是你最小化之前在使用的窗口!     winkey+e :     当你需要打开Windows档案总管找档案的时候,这个快捷键会让你感觉非常"爽"!再也不用腾出一只手去摸鼠标了!     尤其是屏幕若是网页的画面,则帮助很大(因不用将网页最小化,就可叫出档案夹)     wi

Windows2008系统取消组合键登录

如何取消登录时要按Ctrl+Alt+Delete组合键登录呢? 教你方法如下: 点桌面任务栏的"开始-->运行"在弹出的窗口中输入gpedit.msc . 输入gpedit.msc后,点击确定即打开了组策略编辑器.在组策略编辑器的左框内依次序展开(点前面的"+"号)-->计算机配置 -->Windows设置-->安全设置-->本地策略,这时在本地策略下面可见到有"安全选项",点击"安全选项"在右侧

电脑禁用"Win+"组合键技巧

  小编零星的介绍了不少以"Win键"开头的快捷组合键,这些快捷组合键不仅能够为大家提供方便的程序入口,还有效的提高了操作效率.为了方便大家随时学习和记忆,小编特意将它们做成了可以保存在手机或电脑中的图片,方便大家随时调取查看,喜欢的记得"另存为"哦! 虽然它们有着种种好处,但也会和某些常用软件的快捷键产生冲突.可恨的是Windows并没有提供可以禁用相关"Win+"快捷键的设置项,所以呢,我们只能继续从注册表下手了. 先用"Win+R

Win8.1/Win10系统使用组合键玩转桌面图标排列的操作方法

  Win8.1/Win10系统使用组合键玩转桌面图标排列的操作方法.今天小编和大家分享Win8.1/Win10使用组合键玩转桌面图标排列的操作方法,对于Win8.1/Win10系统桌面图标的管理可能每个人的需求都是不一样的,有些用户喜欢把感觉用得到的东西都放在桌面上,一些用户习惯简洁大方.为满足大众要求,在Win8.1/Win10中,微软新增的组合键让桌面图标排列有了更多选择,下面我们就看一下操作方法. 一.这种效果是不是有点透明的味道 操作方法很简单,只需要用键盘和鼠标即可完成,关键是要记住

Win8利用【Alt+F4】组合键快速关闭电脑

  在Win8系统中,关闭.重启.注销电脑等操作对入门者是比较困难的事情,由于Win7或者XP等系统的关操作都是通过开始菜单进行的,而Win8系统中的关闭等操作是通过"设置"菜单进行的,调出设置界面需要一定的技巧. 实际上[Alt+F4]组合键的功能是关闭电脑中的程序,当计算机没有程序运行时,按[Alt+F4]组合键就会弹出"关闭Windows"对话框,在"希望计算机做什么?"列表中,会有关机.注销.睡眠和重启等选项,关机为默认选项,直接单击&q

Word2013中使用Ctrl+Alt+K组合键自动套用格式

  首先选中需要应用自动套用格式的文本(如果不选中文本作用于全文),然后按下Ctrl+Alt+K组合键进行自动套用格式.如果应用自动套用格式后,存在不符合实际应用需要的情况,则可以在快速访问工具栏单击"撤销"按钮撤销当前操作.然后重新设置自动套用格式选项,并再次执行自动套用格式操作 分类: word教程