Persistence 与HibernatePersistence详解
来源:互联网 发布:淘宝送货单 编辑:程序博客网 时间:2024/05/25 21:33
javax.persistence.Persistence暴露出来了两个方法:
public static EntityManagerFactory createEntityManagerFactory(String persistenceUnitName)
public static EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map properties)
这两个方法会在classpath对应的路径下查找 META-INF/services/javax.persistence.spi.PersistenceProvider 这个资源,然后读取内容。
这个资源存放的是一个PersistenceProvider接口的一个实现类的完整类名。
然后实例通过反射实例化这个实现类,然后执行其 createEntityManagerFactory,然后返回该方法的执行结果。
org.hibernate.ejb.HibernatePersistence 中只有两个方法:
public EntityManagerFactory createEntityManagerFactory(String persistenceUnitName, Map overridenProperties)
public EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info, Map map)
这两个方法内部都会实例化一个Ejb3Configuration的实例,然后调用其configure方法。然后执行这个对象的buildEntityManagerFactory方法,并返回这个方法的执行结果。
这个configure方法内部会读取classpath对应目录下的META-INF下的persistence.xml文件,这里是硬编码的,所以路径和文件名都不能改变。
部分源码如下:
- Persistence 与HibernatePersistence详解
- persistence
- Persistence
- JPA的配置文件persistence.xml参数详解
- JPA(java persistence API)详解
- JPA的配置文件persistence.xml参数详解
- jpa persistence.xml文件配置详解
- JPA工程配置persistence.xml参数详解
- MQTT---HiveMQ源码详解(十四)Persistence-LocalPersistence
- Actor Persistence&Snapshot 快照与持久化
- Cannot find class [org.hibernate.ejb.HibernatePersistence
- MQTT---HiveMQ源码详解(十五)Persistence-Cluster/Single
- JPA持久化persistence.xml配置文件及参数详解
- JPA中以HibernatePersistence为provider的批量插入问题
- Persistence Context
- Persistence Framework
- persistence.xml
- Persistence.xml
- static_cast,const_cast,dynamic_cast,reinterpret_cast,c_cast
- 避免在代码里写注释
- redhat selinux
- TF-IDF与余弦相似性的应用(二):找出相似文章
- 推送通知iOS客户端编写实现及推送服务器端编写
- Persistence 与HibernatePersistence详解
- 关于左值 右值的一些研究
- 模式识别中感知器算法(Perceptron Approach)的实现
- 汉若塔递归实现
- 关于C++中标准库类型:vector(下)
- 如何配置iOS推送通知
- 利用iOS API编写简单微博客户端全过程
- mysql replace into的用法和新功能
- vb吐槽班10 拖欠的东西总有一天是要还清的