zoukankan      html  css  js  c++  java
  • 创建entityManager

    1 需要persistence.xml 完全通过属性配置没成功

    <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_2_0.xsd" version="2.0">
    
        <persistence-unit name="aa" transaction-type="RESOURCE_LOCAL">
    
            <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
            <properties>
                <property name="javax.persistence.jdbc.driver" value="org.postgresql.Driver"/>
                <property name="javax.persistence.jdbc.url" value="jdbc:postgresql://127.0.0.1:5432/testaa"/>
                <property name="javax.persistence.jdbc.user" value="testaa"/>
                <property name="javax.persistence.jdbc.password" value="Test6530"/>
                <property name="hibernate.dialect" value="org.hibernate.dialect.PostgreSQL95Dialect"/>
                <property name="hibernate.hbm2ddl.auto" value="create"/>
                <property name="hibernate.show_sql" value="true"/>
                <property name="hibernate.format_sql" value="true"/>
            </properties>
    
        </persistence-unit>
    
    </persistence>

    2 引包 hibernate-core

    groupid 为hibernate的包已经过时了 要引org.hibernate

    hibernate-entitymanager也过时了 用hibernate-core就够了
      <dependencies>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.postgresql</groupId>
                <artifactId>postgresql</artifactId>
                <version>42.2.5</version>
            </dependency>
            <dependency>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-core</artifactId>
                <version>5.4.7.Final</version>
            </dependency>

    3 检查lib中是否有jpa1.x 需要移除掉 不然会报

    Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava/util/Map;

    缺少jta(最后一个) 会报 java.lang.NoClassDefFoundError: javax/transaction/SystemException

    4 测试代码

    import lombok.var;
    
    import javax.persistence.EntityManager;
    import javax.persistence.EntityManagerFactory;
    import javax.persistence.Persistence;
    
    public class test {
        public static void main(String [] args){
    //        Map<String, Object> properties = new HashMap<String, Object>();
    //        properties.put(AvailableSettings.DRIVER, org.postgresql.Driver.class);
    //        properties.put(AvailableSettings.URL, "jdbc:postgresql://127.0.0.1:5432/testaa");
    //        properties.put(AvailableSettings.USER, "testaa");
    //        properties.put(AvailableSettings.PASS, "password");
    //        properties.put(AvailableSettings.DEFAULT_CATALOG, "testaa");
    //        properties.put(AvailableSettings.DIALECT, org.hibernate.dialect.PostgreSQL95Dialect.class);
    //
    
            EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("aa");
            EntityManager em = entityManagerFactory.createEntityManager();
            var query =em.createNativeQuery("select * from figdxmzd2019 ");
            var result = query.getResultList();
    
            System.out.println("hehe");
    
        }
    
    }
  • 相关阅读:
    7.$a = 'abcdef'; 请取出$a的值并打印出第一个字母
    8.PHP可以和sql server/oracle等数据库连接吗?
    6.能够使HTML和PHP分离开使用的模板
    4.用PHP打印出前一天的时间格式是2006-5-10 22:21:21
    5.echo(),print(),print_r()的区别
    3.数据库中的事务是什么?
    spring中配置quartz调用两次及项目日志log4j不能每天生成日志解决方法
    tomcat7性能调优与配置(以windows版为例)
    eclipse中maven下载不了私服上面的第三方包问题
    birt4.6部署到tomcat及启动服务报错解决方法
  • 原文地址:https://www.cnblogs.com/wolbo/p/11735040.html
Copyright © 2011-2022 走看看