Hibernate EntityManager

                小編:管理員 120閱讀 2022.09.14

                Java Persistence API(JPA)是EJB3.0規范之一,定義了對數據庫數據進行持久化操作的接口。HIbernate

                使用HIbernate Annotation和Hibernate EntityManager實現JPA。

                下載HIbernate EntityManager:

                得到的jar包:

                hibernate-entitymanager.jar

                   hibernate-archive-browing.jar

                Product.java

                1 package com.b510.examples;
                 2 
                 3 import javax.persistence.Column;
                 4 import javax.persistence.Entity;
                 5 import javax.persistence.FetchType;
                 6 import javax.persistence.GeneratedValue;
                 7 import javax.persistence.Id;
                 8 import javax.persistence.JoinColumn;
                 9 import javax.persistence.ManyToOne;
                10 import javax.persistence.Table;
                11 import org.hibernate.annotations.GenericGenerator;
                12 
                13 @Entity
                14 @Table(name = "product", catalog = "users")
                15 public class Product implements java.io.Serializable {
                16 
                17     private static final long serialVersionUID = -1546206493725028472L;
                18     private Integer id;
                19     private Category category;
                20     private String name;
                21     private String price;
                22     private String descripton;
                23 
                24     public Product() {
                25     }
                26 
                27     public Product(Category category, String name, String price,
                28             String descripton) {
                29         this.category = category;
                30         this.name = name;
                31         this.price = price;
                32         this.descripton = descripton;
                33     }
                34 
                35     @GenericGenerator(name = "generator", strategy = "increment")
                36     @Id
                37     @GeneratedValue(generator = "generator")
                38     @Column(name = "id", unique = true, nullable = false)
                39     public Integer getId() {
                40         return this.id;
                41     }
                42 
                43     public void setId(Integer id) {
                44         this.id = id;
                45     }
                46 
                47     // 延遲加載:多對一方式
                48     // 關聯信息:外鍵name = "category_id"
                49     @ManyToOne(fetch = FetchType.LAZY)
                50     @JoinColumn(name = "category_id")
                51     public Category getCategory() {
                52         return this.category;
                53     }
                54 
                55     public void setCategory(Category category) {
                56         this.category = category;
                57     }
                58 
                59     @Column(name = "name", length = 500)
                60     public String getName() {
                61         return this.name;
                62     }
                63 
                64     public void setName(String name) {
                65         this.name = name;
                66     }
                67 
                68     @Column(name = "price", length = 10)
                69     public String getPrice() {
                70         return this.price;
                71     }
                72 
                73     public void setPrice(String price) {
                74         this.price = price;
                75     }
                76 
                77     @Column(name = "descripton", length = 500)
                78     public String getDescripton() {
                79         return this.descripton;
                80     }
                81 
                82     public void setDescripton(String descripton) {
                83         this.descripton = descripton;
                84     }
                85 
                86 }
                復制

                src/META-INF/persistence.xml

                1 <?xml version="1.0" encoding="UTF-8"?>
                 2 <persistence version="1.0"
                 3     xmlns:persistence="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.23.org/2001/XMLSchema-instance"
                 4     xsi:schemaLocation="http://java.sun.com/xml/ns/persistence persistence_1_0.xsd ">
                 5 
                 6     <persistence-unit name="entityManager">
                 7         <provider>org.hibernate.ejb.HibernatePersisttence
                 8         </provider>
                 9         <properties>
                10             <property name="hibernate.archive.autodetection" value="class, hbm" />
                11             <property name="hibernate.show_sql" value="true" />
                12             <property name="hibernate.formate_sql" value="true" />
                13             <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
                14             <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
                15             <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3307/users" />
                16             <property name="hibernate.connection.username" value="root" />
                17             <property name="hibernate.connection.password" value="root" />
                18         </properties>
                19     </persistence-unit>
                20 </persistence>
                21 
                22 
                23
                復制

                測試代碼:

                HibernateTestEntityManager.java

                1 /**
                 2  * 
                 3  */
                 4 package com.b510.examples;
                 5 
                 6 import javax.persistence.EntityManager;
                 7 import javax.persistence.EntityManagerFactory;
                 8 import javax.persistence.EntityTransaction;
                 9 import javax.persistence.Persistence;
                10 
                11 /**
                12  * 
                13  * @author XHW
                14  * 
                15  * @date 2011-7-20
                16  * 
                17  */
                18 public class HibernateTestEntityManager {
                19 
                20     /**
                21      * @param args
                22      */
                23     public static void main(String[] args) {
                24         new HibernateTestEntityManager().add();
                25     }
                26 
                27     public void add() {
                28         EntityManagerFactory emf = Persistence
                29                 .createEntityManagerFactory("entityManager");
                30         EntityManager em = emf.createEntityManager();
                31         Product p = new Product();
                32 
                33         p.setName("Hibernate EntityManager");
                34         p.setPrice("12");
                35         p.setDescripton("Hibernate EntityManager test");
                36 
                37         EntityTransaction tx = em.getTransaction();
                38         tx.begin();
                39         // 保存p對象
                40         em.persist(p);
                41         tx.commit();
                42     }
                43 
                44 }
                復制
                關聯標簽:
                喵视频,国偷自产一区二视频观看,国产三级视频在线观看,国产精品免费久久久久电影,老师你下面太紧了拔不出来,国产成人亚洲欧美综合无码,亚洲日本VA中文字幕久久