无法使用JPA连接到数据库

时间:2019-07-31 17:02:16

标签: java jpa

我正在尝试使用JPA连接到SQL数据库,但出现此错误:

  

org.apache.cxf.interceptor.Fault:事务处于活动状态时,无法执行此操作。

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1"
    xmlns="http://xmlns.jcp.`enter code here`org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="jpa" transaction-type="RESOURCE_LOCAL">
        <class>Entities2.User</class>
        <class>Entities2.Meeting</class>
        <class>Entities2.Destination</class>

        <properties>
            <property name="javax.persistence.jdbc.url"
                value="jdbc:sqlserver://DESKTOP-MJ1GR85:1433;DatabaseName=java2;integratedSecurity=false" />
            <property name="javax.persistence.jdbc.user" value="newNava" />
            <property name="javax.persistence.jdbc.password" value="password" />
            <property name="javax.persistence.jdbc.driver"
                value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
            <property name="javax.persistence.schema-generation.database.action"
                value="drop-and-create" />
        </properties>
    </persistence-unit>
</persistence>

DAO:

public static BooleanResponse isExistUser(String id, String first, String last) {
    EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa");
    EntityManager em = emf.createEntityManager();

    try {
        System.out.println("UserDAO, isExistUser: id: " + id + " first: " + first + " last: " + last);

        User u = em.find(User.class, id);
        if (u != null)
            return new BooleanResponse(u.getFirst_name().equals(first) && u.getLast_name().equals(last));
        return new BooleanResponse(false);
    } finally {
        em.close();
    }
}

0 个答案:

没有答案
相关问题