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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate注解开发-PO类注解配置

發(fā)布時(shí)間:2025/1/21 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate注解开发-PO类注解配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在hibernate中我們使用注解,可以幫助我們簡化hbm文件配置。

hibernate.cfg.xml配置

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"><hibernate-configuration><session-factory><!-- 配置關(guān)于數(shù)據(jù)庫連接的四個(gè)項(xiàng) driverClass url username password --><property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property><property name="hibernate.connection.url">jdbc:mysql:///hibernateTest</property><property name="hibernate.connection.username">root</property><property name="hibernate.connection.password">abc</property><!-- 設(shè)置連接提供者 --><property name="hibernate.connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property><!-- c3p0連接池的配置 --><property name="hibernate.c3p0.max_size">20</property> <!-- 最大連接池 --><property name="hibernate.c3p0.min_size">5</property> <!-- 最小連接數(shù) --><property name="hibernate.c3p0.timeout">120</property> <!-- 超時(shí) --><property name="hibernate.c3p0.idle_test_period">3000</property> <!-- 空閑連接 --><!-- 可以將向數(shù)據(jù)庫發(fā)送的sql顯示出來 --><property name="hibernate.show_sql">true</property><!-- 格式化sql --><property name="hibernate.format_sql">true</property><!-- hibernate的方言 --><property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property><!-- 自動創(chuàng)建表 --><property name="hibernate.hbm2ddl.auto">update</property><mapping class="cn.nwtxxb.domain.Book" /><mapping class="cn.nwtxxb.domain.Person" /><mapping class="cn.nwtxxb.oneToMany.Customer" /><mapping class="cn.nwtxxb.oneToMany.Order" /><mapping class="cn.nwtxxb.manyToMany.Teacher" /><mapping class="cn.nwtxxb.manyToMany.Student" /><mapping class="cn.nwtxxb.oneToOne.User" /><mapping class="cn.nwtxxb.oneToOne.IDCard" /><mapping class="cn.nwtxxb.oneToOne.Husband" /><mapping class="cn.nwtxxb.oneToOne.Wife" /></session-factory></hibernate-configuration>

PO類注解配置

@Entity 聲明一個(gè)實(shí)體
@Table來描述類與表對應(yīng)
1、 首先配置我們的類名與數(shù)據(jù)庫對應(yīng)。

@Entity // 定義了一個(gè)實(shí)體 @Table(name = "t_book", catalog = "hibernateTest") public class Book {}

2、 聲明實(shí)體類的id:@GenerateValue如果不設(shè)置變量默認(rèn)是native(自動選擇)

@Id // 主鍵 // @GeneratedValue //native @GeneratedValue(strategy = GenerationType.IDENTITY) // identity private Integer id; // 主鍵

3、 普通類型配置:nullable是否為空,如果不設(shè)置@Column默認(rèn)匹配屬性類型,數(shù)據(jù)庫字段與屬性名稱相同。

@Column(name = "c_name", length = 30, nullable = true) private String name;

4、 日期類型配置:@Temporal有三種類型:
1)TemporalType.DATA 只有年月日
2)TemporalType.TIME 只有小時(shí)分鐘秒
3)TemporalType.TIMESTAMP 有年月日小時(shí)分鐘秒

@Temporal(TemporalType.TIMESTAMP) // 是用來定義日期類型 private Date publicationDate; // 出版日期

5、 配置完所有屬性需要在hibernate核心配置文件中引入實(shí)體類。

<mapping class="cn.nwtxxb.domain.Book" />

如何使用uuid主鍵生成策略。自己聲明一個(gè)uuid,然后在通過@GeneratedValue標(biāo)簽引入即可。

@Id @GenericGenerator(name = "myuuid", strategy = "uuid") @GeneratedValue(generator = "myuuid") private String id;

普通屬性還可以用@Type聲明類型。

@Type(type="string") private String name;

如果類中的屬性不想在表中生成列,可以用@Transient

@Transient private String msg; // 這個(gè)屬性不想生成在表中

所有的配置都可以放到屬性的get方法上配置。

@Entity @Table(name = "t_person", catalog = "hibernateTest") public class Person {@Id@GenericGenerator(name = "myuuid", strategy = "uuid")@GeneratedValue(generator = "myuuid")private String id;@Type(type="string")private String name;@Transientprivate String msg; // 現(xiàn)在這個(gè)屬性不想生成在表中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;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}}

總結(jié)

以上是生活随笔為你收集整理的Hibernate注解开发-PO类注解配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。