网站开发实训心得体会,沈阳头条新闻,建设钓鱼网站源码,广州建站代运营公司有哪些Entity Entity:映射实体类 Entity(nametableName) name:可选#xff0c;对应数据库中一个表#xff0c;若表名与实体类名相同#xff0c;则可以省略。 注意#xff1a;使用Entity时候必须指定实体类的主键属性。 第一步#xff1a;建立实体类#xff1a; 分别…Entity Entity:映射实体类 Entity(nametableName) name:可选对应数据库中一个表若表名与实体类名相同则可以省略。 注意使用Entity时候必须指定实体类的主键属性。 第一步建立实体类 分别给类名上面加上Entity注解。给类中作为主键的属性的get方法前面加上Id注解。 package Com.Entity;
import java.util.Date;
import javax.persistence.Entity;/*JPA主键*/
import javax.persistence.Id;
/*学生实体类*/Entity(nameStudents)
public class Students {private int sid;private String sname;//姓名private String gender;//性别private Date birthday;private String major;//专业private String address;//地址public Students(){}public Students(int sid, String sname, String gender, Date birthday, String major, String address) {//super();this.sid sid;this.sname sname;this.gender gender;this.birthday birthday;this.major major;this.address address;} Idpublic int getSid() {return sid;}public void setSid(int sid) {this.sid sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname sname;}public String getGender() {return gender;}public void setGender(String gender) {this.gender gender;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday birthday;}public String getMajor() {return major;}public void setMajor(String major) {this.major major;}public String getAddress() {return address;}public void setAddress(String address) {this.address address;}} 第二步在配置中配置好这个类。 第三步写测试类 package Com.Entity;
import java.util.EnumSet;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.hibernate.tool.schema.TargetType;
import org.junit.Test;public class TestStudents { Testpublic void testSchemaExport(){//创建服务注册对象ServiceRegistry serviceRegistry new StandardServiceRegistryBuilder().configure().build();//创建Metadata对象Metadata metadata new MetadataSources(serviceRegistry).buildMetadata();//创建SchemaExport对象SchemaExport export new SchemaExport(); export.create(EnumSet.of(TargetType.DATABASE),metadata);}
} 调试后数据库中正常生成表。 Table Table(name,catalog,schema) Entity配合使用只能标注在实体类的class定义处表示实体对应的数据库表的信息。 name:可选映射表名称默认表名和实体名称一致只有在不一致的情况下需要指定表名。 catalog目录可选表示catalog名称默认为catalog()。 schema模式可选表示schema名称默认为schema()。 Table注解实例对于之前的Entity修改如下 name表名前面schema默认为使用的数据库名 Embeddable 表示一个非Entity类可以嵌入到另一个Entity类中作为属性而存在。 相当于代替之前单笔操作的的组件属性。 第一步在建一个非entity类并且在前加上Embeddable注解。 package Com.Entity;import javax.persistence.Embeddable;Embeddable
/*表示一个嵌入类在另一个实体类中充当属性*/
public class Address {private String postCode;//邮编private String address;//地址private String phone;public Address(){}public String getPostCode() {return postCode;}public void setPostCode(String postCode) {this.postCode postCode;}public String getAddress() {return address;}public void setAddress(String address) {this.address address;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone phone;}} 第二步在entity实体类中加入这个类的对象并且加上set,get方法。 第三步测试 发现按照要求生成成功。 转载于:https://www.cnblogs.com/alsf/p/7822241.html