Jee*_*ena 0 java hibernate jpa hql jpql
嗨,我是hibernate的新手.我阅读了很多关于哪本书以及要阅读的规范的线程和讨论.但问题是有些线程太老了,我不明白从哪里开始.我从开发人员指南中的Hibernate规范开始,我认为这太复杂了.所以我读了一些小教程.实际上我被分配到一些项目,我被告知使用了Hibernate.但由于对Hibernate知之甚少,我完全迷失了.在代码中我可以看到在Maven pom中使用了Hibernate.我发现META-INF/Persistence.xml包含:
<?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>
Run Code Online (Sandbox Code Playgroud)
我认为hibernate配置必须通过hibernate.cfg.xml来完成.但我可以在任何地方找到它.在执行查询时代码中没有对hibernate的引用.所有查询都是使用import javax.persistence.Query完成的.所以我猜JPQL用于执行查询.
所以我的问题是:这真的是Hibernate或JPA还是什么?
我什么时候可以说这是使用Hibernate进行持久化.
何时使用JPQL以及何时使用HQL?
请有人可以指导我完成这件事.要清楚我想首先学习Hibernate,然后深入挖掘我的作业.但我不知道从哪里开始.哪本书或教程最好.
最诚挚的问候,Jeena
这真的是Hibernate或JPA还是什么?
JPA是一个框架,Hibernate是一个可以使用JPA框架的实现.所以不要把它们混为一谈.
何时使用JPQL以及何时使用HQL?
JPQL再次成为标准语言,不仅与Hibernate有关.但是,如果您只使用Hibernate,您可能会发现HQL有更多选项并且更灵活.
http://en.wikipedia.org/wiki/Java_Persistence_Query_Language 参考:
JPQL基于Hibernate查询语言(HQL),这是Hibernate对象关系映射库中包含的早期非标准查询语言.
Hibernate和HQL是在JPA规范之前创建的.从Hibernate 3开始,JPQL是HQL的一个子集.
| 归档时间: |
|
| 查看次数: |
239 次 |
| 最近记录: |