Hibernate注解开发-PO类注解配置
生活随笔
收集整理的這篇文章主要介紹了
Hibernate注解开发-PO类注解配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在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><!-- 配置關于數據庫連接的四個項 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><!-- 設置連接提供者 --><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> <!-- 最小連接數 --><property name="hibernate.c3p0.timeout">120</property> <!-- 超時 --><property name="hibernate.c3p0.idle_test_period">3000</property> <!-- 空閑連接 --><!-- 可以將向數據庫發送的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><!-- 自動創建表 --><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 聲明一個實體
@Table來描述類與表對應
1、 首先配置我們的類名與數據庫對應。
2、 聲明實體類的id:@GenerateValue如果不設置變量默認是native(自動選擇)
@Id // 主鍵 // @GeneratedValue //native @GeneratedValue(strategy = GenerationType.IDENTITY) // identity private Integer id; // 主鍵3、 普通類型配置:nullable是否為空,如果不設置@Column默認匹配屬性類型,數據庫字段與屬性名稱相同。
@Column(name = "c_name", length = 30, nullable = true) private String name;4、 日期類型配置:@Temporal有三種類型:
1)TemporalType.DATA 只有年月日
2)TemporalType.TIME 只有小時分鐘秒
3)TemporalType.TIMESTAMP 有年月日小時分鐘秒
5、 配置完所有屬性需要在hibernate核心配置文件中引入實體類。
<mapping class="cn.nwtxxb.domain.Book" />如何使用uuid主鍵生成策略。自己聲明一個uuid,然后在通過@GeneratedValue標簽引入即可。
@Id @GenericGenerator(name = "myuuid", strategy = "uuid") @GeneratedValue(generator = "myuuid") private String id;普通屬性還可以用@Type聲明類型。
@Type(type="string") private String name;如果類中的屬性不想在表中生成列,可以用@Transient
@Transient private String msg; // 這個屬性不想生成在表中所有的配置都可以放到屬性的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; // 現在這個屬性不想生成在表中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;}}總結
以上是生活随笔為你收集整理的Hibernate注解开发-PO类注解配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hibernate一对多关联映射及cas
- 下一篇: idea配置tomcat的方法