我想第一次使用Hibernate,并在入门指南的早期,它引用了Maven。如果我没有弄错,Maven似乎是一个构建工具。不过,我一直在使用Eclipse来构建我的项目。我需要Maven来使用Hibernate吗?
有没有办法让我在不需要Maven的情况下使用Hibernate?我可以通过Eclipse做我需要的吗?有没有人有一个资源的链接,可以告诉我如何做到这一点?
我想第一次使用Hibernate,并在入门指南的早期,它引用了Maven。如果我没有弄错,Maven似乎是一个构建工具。不过,我一直在使用Eclipse来构建我的项目。我需要Maven来使用Hibernate吗?
有没有办法让我在不需要Maven的情况下使用Hibernate?我可以通过Eclipse做我需要的吗?有没有人有一个资源的链接,可以告诉我如何做到这一点?
你不需要使用Hibernate的maven。 Maven提供了简单的依赖关系来包含所有必需的jar。如果没有maven,你将不得不下载并导入每个hibernate依赖的jar。这将是一个手动过程。
Hibernate不依赖于maven,因为它确实说javax.sql。
不,当然不是。我永远不会使用Maven - 无论如何。继续使用Eclipse来构建您的项目。
我发现一次学习一件新东西已经够难了。如果你只是在学习Hibernate,为什么Maven会让你的生活复杂化?
更新:我写了这个答案已经六年了。你仍然不需要Maven来使用Hibernate,但我已经改变了我的想法,推荐哪一个。
我了解到,Maven是管理依赖关系和项目生命周期的最佳方式。休眠?仍然没有理由。保持简单并远离ORM,直到它变得至关重要。
我一直在试着开始学习Hibernate 2天。我认为遵循'用maven构建和运行'的流行方式会更容易。这实际上并不是。我不知道发生了什么,并试图了解什么是缺失或错误。到目前为止,我仍然不知道Hibernate的基础知识,我仍然在寻找一种构建和运行它的方法。有点讨厌...... – 2015-06-06 12:32:50
为什么要添加两件你无知的东西?解决问题。你为什么觉得你需要Hibernate?也许这是真正的问题。它将为您提供什么好处?我看不到。 – duffymo 2015-06-06 14:06:27
你不需要Maven来使用Hibernate。如果没有Maven,您只需手动下载并添加jar依赖项到项目中,这并不难。你可以使用你使用的任何构建过程。
你不需要Maven在Eclipse中使用Hibernate。
如何,对SO:Can anyone recommend a good reference for setting up Hibernate3 with Eclipse?
更多资源:
好吧,我迟到了这个答案。但它会帮助未来的读者。在这里我添加了如何在没有Maven的情况下配置项目。
配置
hibernate-release-5.0.7.Final.zip\hibernate-release-5.0.7.Final\lib\required
中的生成路径。确保以下jar文件添加到项目的类路径:
antlr-2.7.7.jar
commons-dbcp2-2.1.1.jar
dom4j-1.6.1.jar
geronimo-jta_1.1_spec-1.1.1.jar
hibernate-commons-annotations-5.0.1.Final.jar
hibernate-core-5.0.7.Final.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
jandex-2.0.0.Final.jar
javassist-3.18.1-GA.jar
javax.servlet.jsp.jstl-api-1.2.1-sources.jar
jboss-logging-3.3.0.Final.jar
sqljdbc4-3.0.jar //or whatever database you use
hibernate-entitymanager-5.0.7.Final
代码:
Employee.java
import java.io.Serializable;
public class Employee implements Serializable{
private static final long serialVersionUID = 1L;
private int id;
private String firstName;
private String lastName;
private int salary;
//setters and getters
}
的HibernateUtil的.java:
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
// Create the SessionFactory from hibernate.cfg.xml
return new Configuration().configure().buildSessionFactory();
}
catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
public static void shutdown() {
// Close caches and connection pools
getSessionFactory().close();
}
}
访问休眠:
public void hibernateTest(){
System.out.println("Maven + Hibernate + MySQL");
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction();
Employee e = new Employee();
System.out.println("Beginning transaction");
e.setFirstName("Pritam Test Again");
e.setLastName("Banerje");
e.setSalary(12);
session.save(e);
session.getTransaction().commit();
}
创建表查询:
CREATE TABLE EMPLOYEE123
(ID INTEGER,
FIRST_NAME VARCHAR,
LAST_NAME VARCHAR,
SALARY INTEGER);
配置文件可以是任何标准对这些类型的文件。这里是Employee.hbm.xml的示例。请记得妥善放置包名称。
<class name="com.sow.application.Employee" table="EMPLOYEE123">
<meta attribute="class-description">
This class contains the employee detail.
</meta>
<id name="id" type="int" column="id">
<generator class="native"/>
</id>
<property name="firstName" column="first_name" type="string"/>
<property name="lastName" column="last_name" type="string"/>
<property name="salary" column="salary" type="int"/>
</class>
这里是配置XML文件hibernate.cfg.xml中:
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">
org.hibernate.dialect.SQLServerDialect
</property>
<property name="hibernate.connection.driver_class">
com.microsoft.sqlserver.jdbc.SQLServerDriver
</property>
<property name="hibernate.connection.url">
jdbc:sqlserver://localhost:1444
</property>
<property name="hibernate.default_schema">dbo</property>
<property name="hibernate.connection.username">
UserName
</property>
<property name="hibernate.connection.password">
Password
</property>
<!-- List of XML mapping files -->
<mapping resource="com/sow/application/Employee.hbm.xml"/>
</session-factory>
</hibernate-configuration>
你也可以* *使用Eclipse内部行家。如果您有兴趣,请检查m2eclipse插件。 – 2010-08-03 04:15:36
@克里斯纳瓦,你是对的,它也很好。另外看看maven-eclipse-plugin,它很好地构建了你的.project。 – 2010-08-03 14:38:53