Maven 3 + Hibernate 3.6 + Oracle 11g Example (Annotation)
2015-09-07 10:54
585 查看
This tutorial will reuse and modify the previous Hibernate3.6 XML mapping tutorial, but replace the Hibernate mapping file (hbm) with Hibernate / JPA Annotation code.
Technologies in this article :
Maven 3.0.3
JDK 1.6.0_13
Hibernate 3.6.3.final
Oracle 11g
1.
No change in
Note
Since Hibernate 3.6, the annotation is integrated into the
File :
Update
To this :
Bye bye
Technologies in this article :
Maven 3.0.3
JDK 1.6.0_13
Hibernate 3.6.3.final
Oracle 11g
1. pom.xml
No change in pom.xmlfile, all previous Hibernate3.6 XML mapping tutorial dependency can be reused.
Note
Since Hibernate 3.6, the annotation is integrated into the
hibernate-core.jarmodule. In previous version, for example, Hibernate 3.2, you need to include extra
hibernate-annotations.jarto make it works.
2. Delete Hibernate Mapping file (hbm)
Delete the “DBUser.hbm.xml” file, it’s no longer require.
3. Update Model
Update “DBUser.java“, puts JPA annotation code inside.
File : DBUser.java
package com.mkyong.user; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; @Entity @Table(name = "DBUSER") public class DBUser implements java.io.Serializable { private int userId; private String username; private String createdBy; private Date createdDate; public DBUser() { } public DBUser(int userId, String username, String createdBy, Date createdDate) { this.userId = userId; this.username = username; this.createdBy = createdBy; this.createdDate = createdDate; } @Id @Column(name = "USER_ID", unique = true, nullable = false, precision = 5, scale = 0) public int getUserId() { return this.userId; } public void setUserId(int userId) { this.userId = userId; } @Column(name = "USERNAME", nullable = false, length = 20) public String getUsername() { return this.username; } public void setUsername(String username) { this.username = username; } @Column(name = "CREATED_BY", nullable = false, length = 20) public String getCreatedBy() { return this.createdBy; } public void setCreatedBy(String createdBy) { this.createdBy = createdBy; } @Temporal(TemporalType.DATE) @Column(name = "CREATED_DATE", nullable = false, length = 7) public Date getCreatedDate() { return this.createdDate; } public void setCreatedDate(Date createdDate) { this.createdDate = createdDate; } }
4. Update Hibernate Configuration File
Update “hibernate.cfg.xml“, replace the “
mapping resource” with “
mapping class”
Update
hibernate.cfg.xml, from this :
<hibernate-configuration> <session-factory> <!-- ..... --> <mapping resource="com/mkyong/user/DBUser.hbm.xml"></mapping> </session-factory> </hibernate-configuration>
To this :
<hibernate-configuration> <session-factory> <!-- ..... --> <mapping class="com.mkyong.user.DBUser"></mapping> </session-factory> </hibernate-configuration>
5. Hibernate Utility
No update on “HibernateUtil.jav“, since Hibernate 3.6, both XML mapping and annotation are sharing the same “
org.hibernate.cfg.Configuration” class.
Bye bye
AnnotationConfiguration
6. Review Final Project Structure
Review your project structure :7. Run It
No update on “App.java“, as well, just run it, and you should be seeing the same result as previous Hibernate3.6 XML mapping tutorial.
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- maven学习
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- maven插件maven-war-plugin的使用
- jenkins------部署项目到jboss eap下
- maven使用经验集
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- XML 与 JSON 优劣对比
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- As3.0 xml + Loader应用代码
- 网马生成器 MS Internet Explorer XML Parsing Buffer Overflow Exploit (vista) 0day