您好我是hibernate的新手。我读了很多关于哪本书以及要阅读什么规范的线索和讨论。但问题是有些线程太旧,我不知道从哪里开始。我开始使用Developer Guide中的Hibernate规范,我认为这太复杂了。所以我读了一些小教程。 实际上,我被分配到一些项目,我被告知使用了Hibernate。但由于对Hibernate的了解不多,我完全失去了知识。在代码中,我可以看到在Maven pom中使用了Hibernate。我发现META-INF/persistence.xml中包含:Hibernate初学者疑问
<?xml version="1.0" encoding="UTF-8" ?>
<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_1_0.xsd" version="1.0">
<persistence-unit name="EmployeeDatabase" transaction-type="JTA">
<jta-data-source>java:EmpDS</jta-data-source>
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<class>entity.Employee</class>
<properties>
<property name="hibernate.connection.password" value="Usha" />
<property name="hibernate.archive.autodetection" value="class" />
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver" />
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/Employee" />
<property name="hibernate.connection.username" value="Usha" />
<property name="hibernate.hbm2ddl.auto" value="update" />
<property name="hibernate.show_sql" value="false" />
</properties>
</persistence-unit>
我想对Hibernate的配置已经通过hibernate.cfg.xml的工作要做。但我可以在任何地方找到它。在进行查询的代码中,没有提及hibernate。所有查询都使用import javax.persistence.Query完成。所以我猜JPQL被用来做查询。
所以我的问题是:这是真的Hibernate或JPA或什么?
当我可以说这是使用Hibernate的持久性。
何时使用JPQL以及何时使用HQL?
请任何人都可以引导我通过这个。清楚一点,我想先学习Hibernate,然后再深入研究我的任务。但我不知道从哪里开始。哪本书或教程是最好的。
最好的问候, Jeena
感谢您的链接。这与我在代码中的查询操作完全相同。所以这意味着我们应该只使用JPQL,因为这是最新的。但仍然存在我对hibernate和JPA的怀疑。所以只是为了让我的头脑清楚。 JPA是一种为数据库CRUD提供不同方法的API。而Hibernate提供了这些操作的实现并实际执行这些操作。它需要JPQL查询并将其转换为SQL,并将结果返回。正确? – Jeena