日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate 主键维护策略和hibernate 常见的映射类型

發布時間:2025/3/20 编程问答 10 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate 主键维护策略和hibernate 常见的映射类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先配置Product.hbm.xml,最重要是在這個文件中

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping><class name="star.july.b_identity.Product" table="t_product"><id name="id" column="id"><!--主鍵維護策略1)開發者(程序)自行維護assigned2)交給數據庫維護identity:適合mysql數據庫(自增長)sequence:適合oracle數據庫(序列增長)native(推薦):選擇適合的策略(自動選擇identity或sequence)3)hibernate維護increment:(int)hibernate自增長(算法:查詢表id的最大值,然后+1) uuid:(string)生成一個32為字符串--><generator class="native"></generator></id><!--hibernate 常見的映射類型type:數據類型兩種寫法:1)java寫法(默認)整數: java.lang.Integer字符串: java.lang.String小數:java.lang.Double/java.lang.Float布爾:java.lang.Boolean日期:java.util.Date日期時間: java.uitl.Date字符文件:java.lang.String字節文件:java.lang.Byte[]2)hibernate寫法整數: integer字符串:string小數:double/float布爾: boolean日期: date日期時間:datetime字符文件:string字節文件:binary--><property name="name" column="name" type="string"></property><property name="birth" column="birth" type="date"></property><property name="info" column="info" type="string" length="100000000"></property><property name="photo" column="photo" type="binary" length="100000000"></property></class></hibernate-mapping>


創建實體類

package star.july.b_identity; import java.util.Date; public class Product {private int id; // private String idprivate String name;private Date birth; //日期類型private String info; //字符文件內容private byte[] photo; //字節文件內容public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Date getBirth() {return birth;}public void setBirth(Date birth) {this.birth = birth;}public String getInfo() {return info;}public void setInfo(String info) {this.info = info;}public byte[] getPhoto() {return photo;}public void setPhoto(byte[] photo) {this.photo = photo;} }

測試:

package star.july.b_identity; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileReader; import java.util.Date; import org.hibernate.Hibernate; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test; import star.july.util.HibernateUtil; public class Demo {@Testpublic void test1(){Session session = HibernateUtil.getSession();try{Transaction ts = session.getTransaction();ts.begin();Product p = new Product();p.setName("jack");p.setBirth(new Date());//讀取字符文件FileReader file = new FileReader("f:/testwork/student.xml");BufferedReader br = new BufferedReader(file);String info = "";String content=null;while((info = br.readLine())!=null){content += info;}p.setInfo(content);//讀取字節文件File f = new File("f:/testwork/shopsys/8745ab1e-c359-47b0-96c4-809258903789.jpg");FileInputStream in = new FileInputStream(f);byte[] b = new byte[(int)f.length()];in.read(b);p.setPhoto(b);session.save(p);ts.commit();HibernateUtil.close(session);}catch(Exception e){e.printStackTrace();}} }

總結

以上是生活随笔為你收集整理的Hibernate 主键维护策略和hibernate 常见的映射类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。