创建entityManager
2024-09-05 21:39:19
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"); } }
最新文章
- oracle一次给多表添加相同字段
- MySQL 语句使用到的关键字 函数 记录
- poj 2942 Knights of the Round Table 圆桌骑士(双连通分量模板题)
- JAVA:数组,排序,查找<;4>;
- ListView多选操作模式详解CHOICE_MODE_MULTIPLE与CHOICE_MODE_MULTIPLE_MODAL
- cf492C Vanya and Exams
- C# 根据年月获得此月第一天和最后一天,并计算工作日
- Linux 网络编程基础(1)--网络相关的数据结构及转化函数
- 概述java语言
- ural1650 Billionaires
- 一个move_uploaded_file()引起的PHP异常与错误的深入理解
- SQL LCASE() 函数
- JavaScript 中的常用12种循环遍历(数组或对象)的方法
- Apple IAP Subscriptions
- 前端性能优化成神之路--图片懒加载(lazyload image)
- 查看GPU占用率以及指定GPU加速程序
- 安卓读写INI文件 安卓读写INI文件
- Atitit 路径规划法attilax总结 扫描线路法
- 【转】【WPF】关于依赖属性的ValidateValueCallback,PropertyChangedCallback和CoerceValueCallback的执行顺序
- getpass