01-hibernate注解:類級別注解,@Entity,@Table,@Embeddable

@Entity

@Entity:映射實體類

@Entity(name="tableName")

  name:可選,對應數據庫中一個表,若表名與實體類名相同,則可以省略。

注意:使用@Entity時候必須指定實體類的主鍵屬性。

第一步:建立實體類:

分別給類名上面加上@Entity注解。給類中作為主鍵的屬性的get方法前面加上@Id注解。

package Com.Entity;
import java.util.Date;
import javax.persistence.Entity;/*JPA主鍵*/
import javax.persistence.Id;
/*學生實體類*/@Entity(name="Students")
public class Students {private int sid;private String sname;//姓名private String gender;//性別private Date birthday;private String major;//專業private String address;//地址public Students(){}public Students(int sid, String sname, String gender, Date birthday, String major, String address) {//super();this.sid = sid;this.sname = sname;this.gender = gender;this.birthday = birthday;this.major = major;this.address = address;} @Idpublic int getSid() {return sid;}public void setSid(int sid) {this.sid = sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}public String getMajor() {return major;}public void setMajor(String major) {this.major = major;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}}

第二步:在配置中配置好這個類。

第三步:寫測試類:

package Com.Entity;
import java.util.EnumSet;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.hibernate.tool.schema.TargetType;
import org.junit.Test;public class TestStudents { @Testpublic void testSchemaExport(){//創建服務注冊對象ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().configure().build();//創建Metadata對象Metadata metadata =new MetadataSources(serviceRegistry).buildMetadata();//創建SchemaExport對象SchemaExport export = new SchemaExport();  export.create(EnumSet.of(TargetType.DATABASE),metadata);}
}

調試后,數據庫中正常生成表。

?

@Table

@Table(name="",catalog="",schema="")

@Entity配合使用,只能標注在實體類的class定義處,表示實體對應的數據庫表的信息。

name:可選,映射表名稱,默認表名和實體名稱一致,只有在不一致的情況下需要指定表名。

catalog(目錄):可選,表示catalog名稱,默認為:catalog("")。

schema(模式):可選,表示schema名稱,默認為:schema("")。

?

Table注解實例:對于之前的Entity修改如下:

name:表名前面,schema:默認為使用的數據庫名

?

?@Embeddable

表示一個非Entity類可以嵌入到另一個Entity類中作為屬性而存在。

相當于代替之前單筆操作的的組件屬性

?

第一步:在建一個非entity類,并且在前加上@Embeddable注解。

package Com.Entity;import javax.persistence.Embeddable;@Embeddable
/*表示一個嵌入類,在另一個實體類中充當屬性*/
public class Address {private String postCode;//郵編private String address;//地址private String phone;public Address(){}public String getPostCode() {return postCode;}public void setPostCode(String postCode) {this.postCode = postCode;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}}

第二步:在entity實體類中加入這個類的對象,并且加上set,get方法。

?

第三步:測試:

發現按照要求生成成功。

?

轉載于:https://www.cnblogs.com/alsf/p/7822241.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390836.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390836.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390836.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetcode 1707. 與數組中元素的最大異或值

題目 給你一個由非負整數組成的數組 nums 。另有一個查詢數組 queries ,其中 queries[i] [xi, mi] 。 第 i 個查詢的答案是 xi 和任何 nums 數組中不超過 mi 的元素按位異或(XOR)得到的最大值。換句話說,答案是 max(nums[j] XO…

MySQL基礎入門學習【2】數據類型

數據類型:指列、存儲過程參數、表達式和局部變量的數據特征,它決定了數據的存儲格式,代表了不同的信息類型 (1) 整型(按存儲范圍分類):TINYINT(1字節) SAMLLINT(2字節&am…

昆西·拉森的凈資產是多少?

People ask me how much I get paid all the time. It comes up on podcast interviews, Quora questions, and face-to-face discussions.人們問我,我一直得到多少報酬。 它來自播客訪談,Quora問題和面對面的討論。 And people search this question a…

COVID-19研究助理

These days scientists, researchers, doctors, and medical professionals face challenges to develop answers to their high priority scientific questions.如今,科學家,研究人員,醫生和醫學專家面臨著挑戰,無法為其高度優先…

Node.js umei圖片批量下載Node.js爬蟲1.00

這個爬蟲在abaike爬蟲的基礎上改改圖片路徑和下一頁路徑就出來了,代碼如下: // // umei圖片批量下載Node.js爬蟲1.00 // 2017年11月13日 //// 內置http模塊 var httprequire("http");// 內置文件處理模塊,用于創建目錄和圖片文件 v…

交通銀行信息技術管理部副總經理張漫麗:交通銀行“大數據+人工智能”應用研究...

文 | 交通銀行信息技術管理部副總經理張漫麗 大數據隱含著巨大的社會、經濟、科研價值,已引起了各行各業的高度重視。如果能通過人工智能技術有效地組織和使用大數據,將對社會經濟和科學研究發展產生巨大的推動作用,同時也孕育著前所未有的機…

安軟件一勞永逸_如何克服一勞永逸地公開演講的恐懼

安軟件一勞永逸If you’re like most people, the idea of public speaking terrifies you (it terrifies me too). So how do you get over those jitters, get up on stage, and give an amazing talk? First, a disclaimer: this article is purely about your stage prese…

Go語言實戰 : API服務器 (8) 中間件

為什么需要中間件 我們可能需要對每個請求/返回做一些特定的操作,比如 記錄請求的 log 信息在返回中插入一個 Header部分接口進行鑒權 這些都需要一個統一的入口。這個功能可以通過引入 middleware 中間件來解決。Go 的 net/http 設計的一大特點是特別容易構建中間…

缺失值和異常值的識別與處理_識別異常值-第一部分

缺失值和異常值的識別與處理📈Python金融系列 (📈Python for finance series) Warning: There is no magical formula or Holy Grail here, though a new world might open the door for you.警告 : 這里沒有神奇的配方或圣杯,盡管…

SQL Server 常用分頁SQL

今天無聊和朋友討論分頁,發現網上好多都是錯的。網上經常查到的那個Top Not in 或者Max 大部分都不實用,很多都忽略了Order和性能問題。為此上網查了查,順帶把2000和2012版本的也補上了。 先說說網上常見SQL的錯誤或者說局限問題 12345select…

Word中摘要和正文同時分欄后,正文跑到下一頁,怎么辦?或Word分欄后第一頁明明有空位后面的文字卻自動跳到第二頁了,怎么辦?...

問題1:Word中摘要和正文同時分欄后,正文跑到下一頁,怎么辦?或Word分欄后第一頁明明有空位后面的文字卻自動跳到第二頁了,怎么辦? 答:在word2010中,菜單欄中最左側選“文件”->“選…

leetcode 664. 奇怪的打印機(dp)

題目 有臺奇怪的打印機有以下兩個特殊要求: 打印機每次只能打印由 同一個字符 組成的序列。 每次可以在任意起始和結束位置打印新字符,并且會覆蓋掉原來已有的字符。 給你一個字符串 s ,你的任務是計算這個打印機打印它需要的最少打印次數。…

SQL數據類型說明和MySQL語法示例

SQL數據類型 (SQL Data Types) Each column in a database table is required to have a name and a data type. 數據庫表中的每一列都必須具有名稱和數據類型。 An SQL developer must decide what type of data that will be stored inside each column when creating a tab…

PHP7.2 redis

為什么80%的碼農都做不了架構師?>>> PHP7.2 的redis安裝方法: 順便說一下PHP7.2的安裝: wget http://cn2.php.net/distributions/php-7.2.4.tar.gz tar -zxvf php-7.2.4.tar.gz cd php-7.2.4./configure --prefix/usr/local/php…

leetcode 1787. 使所有區間的異或結果為零

題目 給你一個整數數組 nums??? 和一個整數 k????? 。區間 [left, right]&#xff08;left < right&#xff09;的 異或結果 是對下標位于 left 和 right&#xff08;包括 left 和 right &#xff09;之間所有元素進行 XOR 運算的結果&#xff1a;nums[left] XOR n…

【JavaScript】網站源碼防止被人另存為

1、禁示查看源代碼 從"查看"菜單下的"源文件"中同樣可以看到源代碼&#xff0c;下面我們就來解決這個問題&#xff1a; 其實這只要使用一個含有<frame></frame>標記的網頁便可以達到目的。 <frameset> <frame src"你要保密的文件…

梯度 cv2.sobel_TensorFlow 2.0中連續策略梯度的最小工作示例

梯度 cv2.sobelAt the root of all the sophisticated actor-critic algorithms that are designed and applied these days is the vanilla policy gradient algorithm, which essentially is an actor-only algorithm. Nowadays, the actor that learns the decision-making …

共享語義 unix語義_語義UI按鈕

共享語義 unix語義什么是語義UI按鈕&#xff1f; (What are Semantic UI Buttons?) A button indicates a possible user action. Semantic UI provides an easy-to-use syntax that simplifies not only the styling of a button, but also the natural language semantics.按…

垃圾回收算法優缺點對比

image.pngGC之前 說明&#xff1a;該文中的GC算法講解不僅僅局限于某種具體開發語言。 mutator mutator 是 Edsger Dijkstra 、 琢磨出來的詞&#xff0c;有“改變某物”的意思。說到要改變什么&#xff0c;那就是 GC 對象間的引用關系。不過光這么說可能大家還是不能理解&…

標準C程序設計七---77

Linux應用 編程深入 語言編程標準C程序設計七---經典C11程序設計 以下內容為閱讀&#xff1a; 《標準C程序設計》&#xff08;第7版&#xff09; 作者&#xff1a;E. Balagurusamy&#xff08;印&#xff09;&#xff0c; 李周芳譯 清華大學出版社…