JPA的注解的基本使用
来源:互联网 发布:手机网络正常微信不能 编辑:程序博客网 时间:2024/06/10 02:39
1、persistence.xml
<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL"> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect" /> <property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" /> <property name="hibernate.connection.username" value=" " /> <property name="hibernate.connection.password" value=" " /> <property name="hibernate.connection.url" value="jdbc:oracle:thin:@xxx.xxx.xxx.xxxx:1521:xxx" /> <property name="hibernate.max_fetch_depth" value="5" /> <property name="hibernate.jdbc.fetch_size" value="20" /> <property name="hibernate.jdbc.batch_size" value="10" /> <property name="hibernate.hbm2ddl.auto" value="update" /> <property name="hibernate.show_sql" value="true" /> <property name="hibernate.format_sql" value="false" /> </properties> </persistence-unit> </persistence>
2 实体类
package entity;//认准是这个包import java.util.Date;import javax.persistence.Basic;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.EnumType;import javax.persistence.Enumerated;import javax.persistence.FetchType;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Lob;import javax.persistence.Table;import javax.persistence.Temporal;import javax.persistence.TemporalType;import javax.persistence.Transient;@Entity@Table(name="t_person")public class Person {private Integer id;private String name;private Date birthday;//1988-12-24private Gender gender=Gender.MAN;//设置默认值private String info;private Byte[] file;//二进制文本private String imagePath;//此无参构造器必须要有public Person() {}public Person(String name) {this.name = name;}//(strategy=GenerationType.IDENTITY)数据库id自增长的方式生成主键@Id @GeneratedValue(strategy=GenerationType.IDENTITY)public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}@Column(length=10,nullable=false,name="personName")public String getName() {return name;}public void setName(String name) {this.name = name;}@Temporal(TemporalType.DATE) @Column(nullable=false)public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}//@Enumerated(EnumType.ORDINAL) 此种注解在数据库中保存索引值,即0,1,2..//此种注解在数据库中保存字符串,易于理解,可读性高; 保存枚举类型时一定要设置非空约束@Enumerated(EnumType.STRING) @Column(length=5,nullable=false) public Gender getGender() {return gender;}public void setGender(Gender gender) {this.gender = gender;}@Lob //大文本字段注解public String getInfo() {return info;}public void setInfo(String info) {this.info = info;}//@Basic(fetch=FetchType.EAGER) 代表立刻加载@Lob @Basic(fetch=FetchType.EAGER) //代表延时加载,也就是当我们不需要访问此属性时,读取时不会从数据库中抓取此属性值public Byte[] getFile() {return file;}public void setFile(Byte[] file) {this.file = file;}@Transient //不作为持久化字段,也就是说不和数据库建立映射关系public String getImagePath() {return imagePath;}public void setImagePath(String imagePath) {this.imagePath = imagePath;}}
枚举类
package entity;public enum Gender {MAN,//索引值为0WOMEN//索引值为1}3、 测试类的测试方法
@Testpublic void mytest(){EntityManagerFactory factory = Persistence.createEntityManagerFactory("jpa");factory.close();}4 、pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xxxxx.mvc</groupId> <artifactId>jpa</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>jpa Maven Webapp</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>3.6.8.Final</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> <version>3.5.6-Final</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-commons-annotations</artifactId> <version>3.2.0.Final</version> <type>jar</type> <scope>compile</scope> </dependency> <!-- --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>3.4.0.GA</version> <type>jar</type> </dependency> <!-- mysql驱动 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.18</version> <type>jar</type> <scope>compile</scope> </dependency> --> <!-- oracle驱动 --> <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc14</artifactId> <version>10</version></dependency> </dependencies> <build> <finalName>jpa</finalName> </build></project>
0 0
- JPA的注解的基本使用
- JPA的基本注解
- 使用JPA 注解的Hibernate
- JPA学习 注解的使用
- 注解的基本使用
- 【JPA】JPA本地查询注解SqlResultSetMapping的使用
- JPA注解的使用,用于实体类的注解
- JPA注解的使用,用于实体类的注解
- JPA注解的使用,用于实体类的注解
- JPA的Basic注解
- JPA的Id注解
- JPA的Embeddable注解
- JPA 有用的注解
- JPA的Embeddable注解
- JPA的Table注解
- JPA的Embeddable注解
- JPA的一些注解
- JPA基础知识----JPA 基本注解,JPA API
- struts2国际化问题
- Android Toolbar Padding
- Android开发笔记(十)常用的图片加工操作
- php生成静态html页面的简单实现
- iOS push 横屏
- JPA的注解的基本使用
- C语言基础
- 二进制转八进制vb6程序
- 从源码上理清springmvc用注解方式使用的流程脉络(上)
- '调用K3组件反审核单据
- -ObjC引起的duplicate symbols
- oracle客户端NLS_LANG的设置
- ORACLE如何使用DBLINK连接另一个数据库[整理]
- 在OpenCV中图像边界扩展 copyMakeBorder 的实现