Sql server 结合intelliJ IDEA使用Hibernate和MS SQL

Sql server 结合intelliJ IDEA使用Hibernate和MS SQL,sql-server,hibernate,jpa,intellij-idea,persistence-unit,Sql Server,Hibernate,Jpa,Intellij Idea,Persistence Unit,我正在将Hibernate/JPA 2.0与SQL Server和IntelliJ IDEA结合使用。下面是我为测试连接而编写的示例代码: public class App { public static final String SELECT_QUERY = "select u from UsersEntity as u where u.userId = :userId"; public static void main(String[] args) {

我正在将Hibernate/JPA 2.0与SQL Server和IntelliJ IDEA结合使用。下面是我为测试连接而编写的示例代码:

public class App {
    public static final String SELECT_QUERY = "select u from UsersEntity as u where u.userId = :userId";

    public static void main(String[] args)
    {
        String userId = "1";
        PersistenceProvider persistenceProvider = new HibernatePersistence();
        EntityManagerFactory entityManagerFactory = persistenceProvider.createEntityManagerFactory("newPersistenceUnit", new HashMap());
        EntityManager entityManager = entityManagerFactory.createEntityManager();

        List<UsersEntity> users = entityManager.createQuery(SELECT_QUERY, UsersEntity.class).setParameter("userId", userId).getResultList();
        System.out.println(users);
        entityManager.close();
    }
}
知道“newPersistenceUnit”是我的持久化单元的名称

编辑: 是的,它不符合我们的想法。当我使用IDEA中的控制台来查询数据时,它就工作了

我尝试使用下一个代码:

public class HibernateUtil {

private static final SessionFactory sessionFactory;

static {
    try {

        sessionFactory = new Configuration().configure().buildSessionFactory();
    } catch (Throwable ex) {

        System.err.println("Initial SessionFactory creation failed." + ex);
        throw new ExceptionInInitializerError(ex);
    }
}

public static SessionFactory getSessionFactory() {
    return sessionFactory;
}

}
我收到与上述相同的消息,调试在以下位置停止:

sessionFactory = new Configuration().configure().buildSessionFactory();
Edit2:

我使用了EntityManager:

EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("newPersistenceUnit");

    EntityManager entityManager = entityManagerFactory.createEntityManager();
    entityManager.getTransaction().begin();
    List<AdminsEntity> result = entityManager.createQuery( "from AdminsEntity",     AdminsEntity.class ).getResultList();
    for ( AdminsEntity event : result ) {
        logged = event;
    }
    entityManager.getTransaction().commit();
    entityManager.close();
    return logged;
这是我的persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="newPersistenceUnit">
    <class>com.mobitrack.entities.GroupsEntity</class>
    <class>com.mobitrack.entities.ZonesEntity</class>
    <class>com.mobitrack.entities.AdminsEntity</class>
    <class>com.mobitrack.entities.AlarmsEntity</class>
    <class>com.mobitrack.entities.LocationsEntity</class>
    <class>com.mobitrack.entities.UsersEntity</class>
    <class>com.mobitrack.entities.UserGroupsEntity</class>
    <class>com.mobitrack.entities.UserZonesEntity</class>
    <class>com.mobitrack.entities.SettingsEntity</class>
    <class>com.mobitrack.entities.MessagesEntity</class>
    <class>com.mobitrack.entities.ProfilesEntity</class>
    <class>com.mobitrack.entities.ProfileZonesEntity</class>
    <properties>
        <property name="hibernate.connection.url" value="jdbc:sqlserver://localhost:1433;databaseName=MOBITRACKDB"/>
        <property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
        <property name="hibernate.connection.username" value="admin"/>
        <property name="hibernate.connection.password" value="password"/>
        <property name="hibernate.query.factory_class"
                  value="org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory"/>
    </properties>
</persistence-unit>

com.mobitrack.entities.GroupsEntity
com.mobitrack.entities.ZonesEntity
com.mobitrack.entities.adminstitity
com.mobitrack.entities.AlarmsEntity
com.mobitrack.entities.LocationsEntity
com.mobitrack.entities.UsersEntity
com.mobitrack.entities.UserGroupsEntity
com.mobitrack.entities.UserZoneEntity
com.mobitrack.entities.SettingsEntity
com.mobitrack.entities.MessagesEntity
com.mobitrack.entities.ProfilesEntity
com.mobitrack.entities.profileZoneEntity


有什么想法吗?

这个问题可能是由方法断点引起的


请仔细检查是否未设置任何方法断点。禁用
toString()
设置中的求值和备用集合视图选项也可以提高调试器的性能。

它是否在IDEA之外工作?能否显示yor persistenc.xml?您是否可以尝试使用“标准”方法创建实体管理器工厂:EntityManagerFactory emf=Persistence.createEntityManagerFactory(“newPersistenceUnit”);
EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("newPersistenceUnit");

    EntityManager entityManager = entityManagerFactory.createEntityManager();
    entityManager.getTransaction().begin();
    List<AdminsEntity> result = entityManager.createQuery( "from AdminsEntity",     AdminsEntity.class ).getResultList();
    for ( AdminsEntity event : result ) {
        logged = event;
    }
    entityManager.getTransaction().commit();
    entityManager.close();
    return logged;
    EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("newPersistenceUnit");
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="newPersistenceUnit">
    <class>com.mobitrack.entities.GroupsEntity</class>
    <class>com.mobitrack.entities.ZonesEntity</class>
    <class>com.mobitrack.entities.AdminsEntity</class>
    <class>com.mobitrack.entities.AlarmsEntity</class>
    <class>com.mobitrack.entities.LocationsEntity</class>
    <class>com.mobitrack.entities.UsersEntity</class>
    <class>com.mobitrack.entities.UserGroupsEntity</class>
    <class>com.mobitrack.entities.UserZonesEntity</class>
    <class>com.mobitrack.entities.SettingsEntity</class>
    <class>com.mobitrack.entities.MessagesEntity</class>
    <class>com.mobitrack.entities.ProfilesEntity</class>
    <class>com.mobitrack.entities.ProfileZonesEntity</class>
    <properties>
        <property name="hibernate.connection.url" value="jdbc:sqlserver://localhost:1433;databaseName=MOBITRACKDB"/>
        <property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
        <property name="hibernate.connection.username" value="admin"/>
        <property name="hibernate.connection.password" value="password"/>
        <property name="hibernate.query.factory_class"
                  value="org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory"/>
    </properties>
</persistence-unit>