JPA 菜鳥教程 19 jpa uuid主鍵生成策略
GitHub
ddl語句
CREATE TABLE `t_user` (
`id` varchar(32) NOT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
User
package com.jege.jpa.primary;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;
/**
* @author JE哥
* @email [email protected]
* @description:jpa-uuid主鍵生成策略
*/
@Entity
@Table(name = "t_user")
@GenericGenerator(name = "jpa-uuid", strategy = "uuid")
public class User {
@Id
@GeneratedValue(generator = "jpa-uuid")
@Column(length = 32)
private String id;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this .name = name;
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
}
MainTest
package com.jege.jpa.primary;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
/**
* @author JE哥
* @entityManagerail [email protected]
* @description:jpa-uuid主鍵生成測試
*/
public class MainTest {
private static EntityManagerFactory entityManagerFactory = null;
private EntityManager entityManager = null;
@BeforeClass
public static void setUpBeforeClass() throws Exception {
entityManagerFactory = Persistence.createEntityManagerFactory("com.jege.jpa");
}
@Before
public void setUp() throws Exception {
entityManager = entityManagerFactory.createEntityManager();
}
@Test
public void persist() throws Exception {
User user = new User();
user.setName("jege");
entityManager.getTransaction().begin();
entityManager.persist(user);
entityManager.getTransaction().commit();
}
@After
public void tearDown() throws Exception {
if (entityManager != null && entityManager.isOpen()) {
entityManager.close();
}
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
if (entityManagerFactory != null && entityManagerFactory.isOpen()) {
entityManagerFactory.close();
}
}
}
原始碼地址
如果覺得我的文章或者程式碼對您有幫助,可以請我喝杯咖啡。
您的支援將鼓勵我繼續創作!謝謝!
相關推薦
JPA 菜鳥教程 19 jpa uuid主鍵生成策略
GitHub ddl語句 CREATE TABLE `t_user` ( `id` varchar(32) NOT NULL, `name` varchar(255) DEFAU
mybatis+MySQL UUID主鍵生成策略
mybatis mysql uuid主鍵生成<insert id="insert" parameterType="com.gzwb.wbspm.model.SpmInvoice" > <selectKey keyProperty="invoiceId" //主鍵列名 resultType
JPA 菜鳥教程 15 繼承-一個表-SINGLE_TABLE
column turn rate pre school fill 技術 一個表 tor 原地址:http://blog.csdn.net/JE_GE/article/details/53678422 繼承映射策略 一個類繼承結構一個表的策略,最終只生成一個表,這是繼承映射的
JPA 菜鳥教程 3 單向多對一
GitHub JPA中的@ManyToOne 主要屬性 - name(必需): 設定“many”方所包含的“one”方所對應的持久化類的屬性名 - column(可選): 設定one方的主鍵,即持久化類的屬性對應的表的外來鍵 - class
JPA 菜鳥教程 6 單向多對多
GitHub JPA中的@ManyToMany @ManyToMany註釋表示模型類是多對多關係的一端。 @JoinTable 描述了多對多關係的資料表關係。 name 屬性指定中間表名稱 joinColumns 定義中間表與Teach
JPA 菜鳥教程 2 單表操作
GitHub JPA Sun官方提出的Java持久化規範。它為Java開發人員提供了一種物件/關係對映工具來管理Java應用中的關係資料。他的出現主要是為了簡化現有的持久化開發工作和整合ORM技術,結束現在Hibernate、TopLink等OR
JPA註解主鍵生成策略-UUID
ces sys 策略 選擇 system 實現 table ont ora @GeneratedValue:主鍵的產生策略,通過strategy屬性指定。 主鍵產生策略通過GenerationType來指定。GenerationType是一個枚舉,它定義了主鍵產生策略的
使用註解風格學習Hibernate和JPA的主鍵生成策略
主鍵是關係資料庫中的一個基本概念,它用來保證記錄的唯一性。簡單來說,就是同一張資料庫表中,不允許存在多條相同主鍵的記錄。主鍵生成策略,就是當向資料庫表中插入記錄的時候,這個記錄的主鍵該如何生成。絕大部分情況下,主鍵都是沒有業務含義的,所以開發者不會、也不需要,顯示地
jpa table主鍵生成策略
用 table 來生成主鍵詳解 它是在不影響效能情況下,通用性最強的 JPA 主鍵生成器。這種方法生成主鍵的策略可以適用於任何資料庫,不必擔心不同資料庫不相容造成的問題。 initialValue不起作用? Hibernate 從 3.2.3 之後引入了兩個新的主鍵生成器 TableGenerator
hibernate JPA註解主鍵生成策略
Id生成策略: @GeneratedValue,JPA通用策略生成器 。 JPA提供的四種標準用法為TABLE,SEQUENCE,IDENTITY,AUTO. TABLE:使用一個特定的資料庫表格來儲存主鍵。 S
JPA主鍵生成策略
一、JPA通用策略生成器 通過annotation來對映hibernate實體的,基於annotation的hibernate主鍵標識為@Id, 其生成規則由@GeneratedValue設定的.這裡的@id和@GeneratedValue都是JPA的標準用法, JPA提供四種標準用法,由@Gene
spring boot 2.0 JPA主鍵生成策略不按單表遞增解決辦法
spring BOOT 更新至2.0後,上到雲端測試後,發現自動生成的主鍵有問題,如下:主鍵沒有按照表中的順序遞增,而是看似無規則的遞增中。參考了一下其他表也是這種狀態,於是把問題定位在了 spring data jpa 生成主鍵的策略上:之前都是AUTO讓jpa自動的選擇生
Java 持久化技術規範(JPA )中的主鍵生成策略
簡介: Java Persistence API(JPA)中要求每個實體(Entity)類必須有一個主鍵,並且提供了 Table,Sequence,Identity,Auto 四種主鍵生成策略。其中 Identity 為表自動增長欄位;Sequence 通過序列產生主鍵;這兩
Hibernate的uuid主鍵生成方式
從hibernate3.0開始已經不再支援uuid.string,檢視changelog可以發現: Changes in version 3.0 beta 1 (21.12.2004) * removed uuid.string and renamed uuid.hex to plain uuid,hiber
Hibernate 主鍵生成策略
關閉 min conn mine 數據 xml文件 ive orm 刪除 第一步:引入jar包 省略 第二部:創建實體類 package cn.hibernate.bean; public class Student { private Integer sId;
(轉) Hibernate持久化類與主鍵生成策略
bject 規則 修飾符 cti arc arch 斷點 可能 策略 http://blog.csdn.net/yerenyuan_pku/article/details/65462930 Hibernate持久化類 什麽是持久化類呢?在Hibernate中持久化類的英
Hibernate 之主鍵生成策略小總結
rem 時間值 多線程 class 判斷 acl 選擇 hiberna bsp 主鍵生成策略大致分兩種: 手工控制策略 自動生成策略【框架自動生成和數據庫自動生成】 手工控制策略: assigned:類型是任意的,需要在 save() 到數據庫前,編碼人員手工設置主鍵
Hibernate主鍵生成策略
要求 mage src ble 配置 生成策略 padding pac 之前 Hibernate主鍵生成策略 1 hibernate要求實體類裏面有一個屬性作為唯一值,對應表主鍵,主鍵可以不同生成策略 2 hibernate主鍵生成策略有很多的值 3 在cl
圖片的批量導入實現和對主鍵生成策略的思考
自己 得到 分段 長度 不能 import labels 消費 步驟 CDX一期上線的那天是我來公司最緊張的一天,因為這一天我要負責公司近5000張車型圖的導入工作。雖然在完成上傳和導入的代碼之後測試了很多遍,但是真正到了正式環境,卻真的很怕出問題。內搜、gift、以及本地
Hibernate框架的主鍵生成策略
如果 維護 自己 db2 取值 identity 返回 nat 數字 在Hibernate中,id元素的<generator>子元素用於生成持久化類的對象的唯一標識符,也就是主鍵。Hibernate框架中定義了許多主鍵生成策略類,也叫生成器類。所有的生成器類