原创 hibernate實體映射的一些可選優化/配置

//自動爲所有的實體類名/實例域名添加引用``,避免數據庫的關鍵字衝突!!! //在hibernate5以及配置了dialect之後有效 <prop key="hibernate.auto_quote_keyword">true<

原创 shell簡單編程

基礎 $0 表示shell文件本身的文件名. $1,$2,$3 指向每個參數 $#表示參數的個數 $*/$@表示所有參數的整體 $x 用於取變量x的值 $$ 進程id. shift移動一個參數。 ':',相

原创 jta+spring4+hibernate5/jpa2配置

spring配置 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"

原创 hibernate級聯刪除錯誤

@OneToMany配置了cascade=CascadeType.REMOVE,但是在delete時還是報了一個外鍵引用,刪除錯誤。 原因是,在delete時未從數據庫重新加載對象(get/load)。導致刪除對象時,該對象只有

原创 java volatile關鍵字的討論

//一個volatile的用例 //Thread A init(); initlized= true; //Thread B while(!initlized){ sleep(); } //volatile變量的作用如下

原创 JDK1.8新特性

javac -source 1.7 -target 1.8 T.java 表示源文件版本爲1.7,編譯成的字節碼使用1.8 lambda表達式,即由用戶來提供行爲的具體實現. /** * @author Sunset *

原创 JPA持久化上下文與對象狀態

hibernate 認爲一個有id的新對象爲detached. 自動髒檢查可以通過繼承org.hibernate.CustomEntityDirtinessStrategy並設置hibernate.entity_dirtin

原创 hibernate映射值類型

JDK基本類型 @Transient:用於將某個屬性設爲瞬時,其不會被映射到數據庫,默認的所有屬性都將映射到數據庫 @Access:用於設置訪問屬性的策略,當值爲@Access(AccessType.PROPERTY)時使用se

原创 Clojure小教程(更新中)

什麼是函數式編程? 特點1:函數是一等公民,即與其他基本類型處於等價地位,可以被返回,可以被賦值也可以作爲參數.python js clojure都支持這點. 特點2:更多的表達式,減少過程.即每個語句儘量都是計算並返回計算結

原创 java泛型

支持泛型類以及泛型方法 class MyGen<T,E>{ //<X>類型聲明在返回值前,若未在類中聲明,則必須在方法裏聲明 public static <X> X myCast(Object o){

原创 Hibernate OneToOne關聯

單向-共享主鍵 //Address不包含任何到User的信息 //使用optional=false,確定addr非空,這樣hibernate不用檢查addr是否爲空,才能使用懶加載 //使用@PrimaryKeyJoinCol

原创 Hibernate映射集合(JDK以及嵌入式值類)

JDK內置的集合類型有Set、List、Collection、Map四種 //Set與Collection的區別在於是否允許重複元素,java未提供Collection的實現。 //任意的值類型集合映,都需要@ElementC

原创 NIO實例

服務端程序 package main; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; i

原创 Hibernate主鍵生成策略

/** 在所有策略中,只有assigned策略的主鍵是自己定義的,其餘在調用save/persist保存到數據庫時會自動生成一個id,所以在這之前設置的id沒有意義,其將被覆蓋。 正常情況下enhanced-sequence可以滿

原创 序列化與反序列化

序列化基礎: 即使用ObjectOutputStream與ObjectInputStream進行對象與字節流的轉換,一般需要提供一個序列化id。 tip:默認序列化時若一個域被修飾爲transient,則不序列化該實例域。 imp