亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jpa開發.txt

?? jpa開發
?? TXT
?? 第 1 頁 / 共 4 頁
字號:
	}
	public void setUser1(Set<User1> users) {
		this.users = users;
	}
	}
   3) Dao
        /**
	 * 1. 項目下新建META-INF/persistence.xml
	 * 2. 啟動derby
	 */
	public class User1DAO {
	private static final EntityManagerFactory emf; 
	private static EntityManager em;
	static {
		emf = Persistence.createEntityManagerFactory("aaa"); 
		if (em == null) 
			em = emf.createEntityManager();
	}
	public void queryByUser() {
		User1 user = em.find(User1.class, 1);
		System.out.println(user.getUserid()+"\t"+user.getDuties().size());
	}
	public static void main(String[] args) {
		User1DAO dao = new User1DAO();
		dao.queryByUser();
	}
	}


4. 查詢
   ◆Query q= em.createQuery("SELECT t FROM Topic t"); 
   ◆Query q = createNativeQuery(String sqlString) 
   ◆Object getSingleResult():執行SELECT查詢語句,并返回一個結果; 
   ◆List getResultList() :執行SELECT查詢語句,并返回多個結果; 
   ◆Query setParameter(int position, Object value):通過參數位置號綁定查詢語句中的參數,如果查詢語句使用了命令參數,則可以使用Query setParameter(String name, Object value)方法綁定命名參數; 
   ◆Query setMaxResults(int maxResult):設置返回的最大結果數; 
   ◆int executeUpdate():如果查詢語句是新增、刪除或更改的語句,通過該方法執行更新操作; 

5. 函數
   字符串操作函數有: 
	◆CONCAT(String, String):合并字段串; 
	◆LENGTH(String):求字段串的長度; 
	◆LOCATE(String, String [, start]):查詢字段串的函數,第一個參數為需要查詢的字段串,看它在出現在第二個參數字符串的哪個位置,start表示從哪個位置開始查找,返回查找到的位置,沒有找到返回0。如LOCATE ('b1','a1b1c1',1)返回為3; 
	◆SUBSTRING(String, start, length):子字段串函數; 
	◆TRIM([[LEADING|TRAILING|BOTH] char) FROM] (String):將字段串前后的特殊字符去除,可以通過選擇決定具體的去除位置和字符; 
	◆LOWER(String):將字符串轉為小寫; 
	◆UPPER(String):將字符串轉為大寫。 
   數字操作函數有: 
	◆ABS(number):求絕對值函數; 
	◆MOD(int, int):求模的函數; 
	◆SQRT(double):求平方函數; 
	◆SIZE(Collection):求集合大小函數。
   聚集函數COUNT(),其它幾個可用的聚集函數分別為: 
	◆AVG:計算平均值,返回類型為double; 
	◆MAX:計算最大值; 
	◆MIN:計算最小值; 
	◆SUM:計算累加和; 



























Table
Table用來定義entity主表的name,catalog,schema等屬性。

元數據屬性說明:

name: 表名 
catalog: 對應關系數據庫中的catalog 
schema:對應關系數據庫中的schema 
UniqueConstraints:定義一個UniqueConstraint數組,指定需要建唯一約束的列 
    
    @Entity
    @Table(name="CUST")
    public class Customer { ... }
  

SecondaryTable
一個entity class可以映射到多表,SecondaryTable用來定義單個從表的名字,主鍵名字等屬性。

元數據屬性說明:

name: 表名 
catalog: 對應關系數據庫中的catalog 
schema:對應關系數據庫中的schema 
pkJoin: 定義一個PrimaryKeyJoinColumn數組,指定從表的主鍵列 
UniqueConstraints:定義一個UniqueConstraint數組,指定需要建唯一約束的列 
下面的代碼說明Customer類映射到兩個表,主表名是CUSTOMER,從表名是CUST_DETAIL,從表的主鍵列和主表的主鍵列類型相同,列名為CUST_ID。

                
    @Entity
    @Table(name="CUSTOMER")
	@SecondaryTable(name="CUST_DETAIL",pkJoin=@PrimaryKeyJoinColumn(name="CUST_ID"))
	public class Customer { ... }
    
    SecondaryTables
當一個entity class映射到一個主表和多個從表時,用SecondaryTables來定義各個從表的屬性。

元數據屬性說明:

value: 定義一個SecondaryTable數組,指定每個從表的屬性。 
                
	@Table(name = "CUSTOMER")
	@SecondaryTables( value = {
	@SecondaryTable(name = "CUST_NAME", pkJoin = { @PrimaryKeyJoinColumn(name = "STMO_ID", referencedColumnName = "id") }),
	@SecondaryTable(name = "CUST_ADDRESS", pkJoin = { @PrimaryKeyJoinColumn(name = "STMO_ID", referencedColumnName = "id") }) })
	public class Customer {}
    
    UniqueConstraint
UniqueConstraint定義在Table或SecondaryTable元數據里,用來指定建表時需要建唯一約束的列。

元數據屬性說明:

columnNames:定義一個字符串數組,指定要建唯一約束的列名。 
                
		@Entity
		@Table(name="EMPLOYEE",
			uniqueConstraints={@UniqueConstraint(columnNames={"EMP_ID", "EMP_NAME"})}
		)
		public class Employee { ... }
    
    Column
Column元數據定義了映射到數據庫的列的所有屬性:列名,是否唯一,是否允許為空,是否允許更新等。

元數據屬性說明:

name:列名。 
unique: 是否唯一 
nullable: 是否允許為空 
insertable: 是否允許插入 
updatable: 是否允許更新 
columnDefinition: 定義建表時創建此列的DDL 
secondaryTable: 從表名。如果此列不建在主表上(默認建在主表),該屬性定義該列所在從表的名字。 
        
    public class Person {
	@Column(name = "PERSONNAME", unique = true, nullable = false, updatable = true)
	private String name;

	@Column(name = "PHOTO", columnDefinition = "BLOB NOT NULL", secondaryTable="PER_PHOTO")
	private byte[] picture;
		
    JoinColumn
如果在entity class的field上定義了關系(one2one或one2many等),我們通過JoinColumn來定義關系的屬性。JoinColumn的大部分屬性和Column類似。

元數據屬性說明:

name:列名。 
referencedColumnName:該列指向列的列名(建表時該列作為外鍵列指向關系另一端的指定列) 
unique: 是否唯一 
nullable: 是否允許為空 
insertable: 是否允許插入 
updatable: 是否允許更新 
columnDefinition: 定義建表時創建此列的DDL 
secondaryTable: 從表名。如果此列不建在主表上(默認建在主表),該屬性定義該列所在從表的名字。 
下面的代碼說明Custom和Order是一對一關系。在Order對應的映射表建一個名為CUST_ID的列,該列作為外鍵指向Custom對應表中名為ID的列。

                
	public class Custom {
	
    @OneToOne
	@JoinColumn(
	name="CUST_ID", referencedColumnName="ID", unique=true, nullable=true, updatable=true)
	public Order getOrder() {
		return order;
	}
    
    JoinColumns
如果在entity class的field上定義了關系(one2one或one2many等),并且關系存在多個JoinColumn,用JoinColumns定義多個JoinColumn的屬性。

元數據屬性說明:

value: 定義JoinColumn數組,指定每個JoinColumn的屬性。 
下面的代碼說明Custom和Order是一對一關系。在Order對應的映射表建兩列,一列名為CUST_ID,該列作為外鍵指向Custom對應表中名為ID的列,另一列名為CUST_NAME,該列作為外鍵指向Custom對應表中名為NAME的列。

                
	public class Custom {
    @OneToOne
	@JoinColumns({
    @JoinColumn(name="CUST_ID", referencedColumnName="ID"),
    @JoinColumn(name="CUST_NAME", referencedColumnName="NAME")
	})
	public Order getOrder() {
		return order;
	}
    
    Id
聲明當前field為映射表中的主鍵列。id值的獲取方式有五種:TABLE, SEQUENCE, IDENTITY, AUTO, NONE。Oracle和DB2支持SEQUENCE,SQL Server和Sybase支持IDENTITY,mysql支持AUTO。所有的數據庫都可以指定為AUTO,我們會根據不同數據庫做轉換。NONE(默認)需要用戶自己指定Id的值。元數據屬性說明:

generate():主鍵值的獲取類型 
generator():TableGenerator的名字(當generate=GeneratorType.TABLE才需要指定該屬性) 
下面的代碼聲明Task的主鍵列id是自動增長的。(Oracle和DB2從默認的SEQUENCE取值,SQL Server和Sybase該列建成IDENTITY,mysql該列建成auto increment。)

                
    @Entity
    @Table(name = "OTASK")
    public class Task {
	  @Id(generate = GeneratorType.AUTO)
	  public Integer getId() {
		  return id;
	  }
    }
    
    IdClass
當entity class使用復合主鍵時,需要定義一個類作為id class。id class必須符合以下要求:類必須聲明為public,并提供一個聲明為public的空構造函數。必須實現Serializable接,覆寫equals()和hashCode()方法。entity class的所有id field在id class都要定義,且類型一樣。

元數據屬性說明:

value: id class的類名 
 

                
    public class EmployeePK implements java.io.Serializable{
       String empName;
       Integer empAge;

	   public EmployeePK(){}

	   public boolean equals(Object obj){ ......}
	   public int hashCode(){......}
    }


    @IdClass(value=com.acme.EmployeePK.class)
    @Entity(access=FIELD)
    public class Employee {
        @Id String empName;
        @Id Integer empAge;
    }
    
    MapKey
在一對多,多對多關系中,我們可以用Map來保存集合對象。默認用主鍵值做key,如果使用復合主鍵,則用id class的實例做key,如果指定了name屬性,就用指定的field的值做key。

元數據屬性說明:

name: 用來做key的field名字 
下面的代碼說明Person和Book之間是一對多關系。Person的books字段是Map類型,用Book的isbn字段的值作為Map的key。

                
    @Table(name = "PERSON")
    public class Person {

	@OneToMany(targetEntity = Book.class, cascade = CascadeType.ALL, mappedBy = "person")
	@MapKey(name = "isbn")
	private Map books = new HashMap();
    }
    
    OrderBy
在一對多,多對多關系中,有時我們希望從數據庫加載出來的集合對象是按一定方式排序的,這可以通過OrderBy來實現,默認是按對象的主鍵升序排列。

元數據屬性說明:

value: 字符串類型,指定排序方式。格式為"fieldName1 [ASC|DESC],fieldName2 [ASC|DESC],......",排序類型可以不指定,默認是ASC。 
下面的代碼說明Person和Book之間是一對多關系。集合books按照Book的isbn升序,name降序排列。

                
    @Table(name = "MAPKEY_PERSON")
    public class Person {

	@OneToMany(targetEntity = Book.class, cascade = CascadeType.ALL, mappedBy = "person")
	@OrderBy(name = "isbn ASC, name DESC")
	private List books = new ArrayList();
    }
    
    PrimaryKeyJoinColumn
在三種情況下會用到PrimaryKeyJoinColumn。 

繼承。 
entity class映射到一個或多個從表。從表根據主表的主鍵列(列名為referencedColumnName值的列),建立一個類型一樣的主鍵列,列名由name屬性定義。 
one2one關系,關系維護端的主鍵作為外鍵指向關系被維護端的主鍵,不再新建一個外鍵列。 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久闺蜜| 99久久精品情趣| 91麻豆精品国产91久久久久久久久 | 欧美日韩中文字幕一区| 一区二区三区精品在线| 欧美性大战久久久久久久| 亚洲第一主播视频| 日韩一区二区三区四区五区六区| 日本免费新一区视频| 欧美va天堂va视频va在线| 久久精品999| 欧美激情在线一区二区三区| eeuss鲁片一区二区三区| 亚洲免费观看高清完整版在线观看熊 | 在线免费观看日韩欧美| 亚洲国产一区二区视频| 欧美一区二区三区性视频| 国产一区二区三区四区五区入口| 国产欧美精品一区二区色综合 | 国产盗摄视频一区二区三区| 欧美国产1区2区| 欧美性一级生活| 久久精品国产精品亚洲精品| 日本一区二区三区高清不卡| 色88888久久久久久影院按摩 | 天天爽夜夜爽夜夜爽精品视频| 91精品国产乱| 成人精品国产一区二区4080| 亚洲一区免费在线观看| 精品第一国产综合精品aⅴ| 99re亚洲国产精品| 日本午夜精品视频在线观看| 欧美激情在线免费观看| 欧美私模裸体表演在线观看| 国产在线一区二区| 亚洲乱码国产乱码精品精可以看| 日韩欧美激情四射| 99re成人精品视频| 精品在线你懂的| 一区二区三区欧美久久| 久久久久久久久99精品| 欧美日韩一区二区欧美激情| 国产福利一区二区三区视频| 午夜精品在线看| 免费观看91视频大全| 欧美经典一区二区| 欧美一区二区女人| 色婷婷av一区二区三区软件| 韩国成人精品a∨在线观看| 欧美日韩精品欧美日韩精品| 日韩激情视频在线观看| 色播五月激情综合网| 国产精品第一页第二页第三页| 日产精品久久久久久久性色| 91丨九色丨尤物| 亚洲精品成人在线| 国产自产高清不卡| 国产精品视频一二三区| 亚洲18女电影在线观看| 欧美性三三影院| 99re这里只有精品首页| 国产乱码一区二区三区| 日本在线不卡视频| 一区二区三区免费网站| 中文字幕一区免费在线观看| 精品欧美一区二区久久| 91麻豆精品国产综合久久久久久| 一本色道久久综合狠狠躁的推荐| 国产九色精品成人porny| 久久国产夜色精品鲁鲁99| 日韩综合一区二区| 五月开心婷婷久久| 亚洲高清视频在线| 亚洲图片欧美色图| 亚洲亚洲精品在线观看| 亚洲免费观看高清在线观看| 国产精品久久久久久久久免费桃花| 2017欧美狠狠色| 中文字幕乱码亚洲精品一区| 久久久久一区二区三区四区| 欧美精品一区二区三| 日韩免费性生活视频播放| 日韩三级高清在线| 日韩精品一区二区三区老鸭窝 | 欧美三级欧美一级| 欧美色图片你懂的| 欧美乱妇一区二区三区不卡视频| 欧美视频中文一区二区三区在线观看 | 欧美午夜片在线观看| 色偷偷成人一区二区三区91| 在线视频欧美精品| 欧美日韩一区二区三区在线看| 欧美日韩的一区二区| 欧美日韩精品福利| 精品黑人一区二区三区久久| 久久综合999| 中文字幕一区二区三区在线观看| 亚洲日本免费电影| 亚洲国产美国国产综合一区二区| 天堂久久久久va久久久久| 免费日本视频一区| 国产一区二三区| 国产不卡在线视频| 日本道精品一区二区三区| 欧美体内she精视频| 日韩一区二区三区在线视频| 久久综合色天天久久综合图片| 国产视频一区二区在线观看| 亚洲日本在线观看| 三级亚洲高清视频| 成人中文字幕电影| 欧美午夜在线观看| 日韩精品一区二区三区蜜臀| 亚洲第一二三四区| 国产一区二三区| 日本精品视频一区二区| 欧美一区二区视频网站| 国产欧美日韩精品一区| 亚洲一区二区成人在线观看| 久久精品国产**网站演员| 成人国产精品免费网站| 欧美精品一卡二卡| 欧美国产乱子伦 | 日韩一级视频免费观看在线| 久久精品人人做人人综合| 一区二区三区蜜桃网| 国产一区二区三区在线观看免费| 99国产欧美久久久精品| 精品理论电影在线| 亚洲自拍欧美精品| 激情欧美日韩一区二区| 欧美三级资源在线| 日本一区二区三级电影在线观看| 日韩中文字幕区一区有砖一区| 国产成人精品一区二区三区四区 | 亚洲精品国久久99热| 美女在线一区二区| 91看片淫黄大片一级在线观看| 欧美成人乱码一区二区三区| 亚洲精品乱码久久久久久日本蜜臀| 国产一区二区三区免费| 欧美日韩精品三区| 一区二区三区视频在线看| 国产成人综合网站| 日韩精品一区二区在线观看| 亚洲一区二区三区四区在线免费观看 | 亚洲欧美日韩国产另类专区| 久久99在线观看| 欧美日韩夫妻久久| 一区二区视频在线| av不卡免费电影| 国产日韩精品一区二区浪潮av| 男人的j进女人的j一区| 欧美性视频一区二区三区| 国产精品国产三级国产有无不卡 | 日韩一区在线看| 国产成人精品亚洲日本在线桃色| 日韩午夜精品视频| 日韩激情一区二区| 欧美日韩视频在线一区二区| 亚洲免费毛片网站| 99久久99久久精品免费观看| 久久这里只有精品视频网| 久久综合综合久久综合| 欧美一级高清大全免费观看| 午夜精品影院在线观看| 欧美私模裸体表演在线观看| 亚洲一区欧美一区| 欧美亚洲一区二区三区四区| 一二三区精品福利视频| 日本久久电影网| 综合久久久久综合| 91色porny蝌蚪| 亚洲自拍都市欧美小说| 欧洲av在线精品| 亚洲综合丁香婷婷六月香| 欧美视频精品在线| 亚洲成人精品一区| 91精品久久久久久久91蜜桃| 日本美女一区二区三区视频| 日韩午夜激情视频| 国产精品一区久久久久| 欧美经典三级视频一区二区三区| 成人午夜免费av| 亚洲色图丝袜美腿| 欧美日韩国产片| 美日韩黄色大片| 中文一区一区三区高中清不卡| www.亚洲在线| 亚洲无人区一区| 91精品综合久久久久久| 国产一区二区中文字幕| 国产精品天美传媒沈樵| 色999日韩国产欧美一区二区| 亚洲一区欧美一区| 欧美xingq一区二区| 国产不卡视频一区二区三区| 亚洲精品久久久久久国产精华液 | 欧美一区二区在线视频| 久久精品国产网站|