GVKun编程网logo

如何在Eclipse中使用Hibernate Tools生成DAO?(eclipse自动生成hibernate配置文件)

20

最近很多小伙伴都在问如何在Eclipse中使用HibernateTools生成DAO?和eclipse自动生成hibernate配置文件这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你

最近很多小伙伴都在问如何在Eclipse中使用Hibernate Tools生成DAO?eclipse自动生成hibernate配置文件这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展eclipse indigo 64位 版的在 用 hibernate tools 反向生成的时候 总是报错、eclipse 使用 hibernate 连接 mysql、eclipse 使用JBOSS Hibernate插件逆向生成如何设置生成的POJO的名称、eclipse 生成 hibernate.cfg.xml 文件报错等相关知识,下面开始了哦!

本文目录一览:

如何在Eclipse中使用Hibernate Tools生成DAO?(eclipse自动生成hibernate配置文件)

如何在Eclipse中使用Hibernate Tools生成DAO?(eclipse自动生成hibernate配置文件)

我正在使用:Eclipse Java EE IDE Web开发人员版本:靛蓝发行

使用hibernate工具,我是第一次在Eclipse中hibernate,因此我学习了如何配置hibernate并生成带有注释的POJO(我认为它比.xml更好)。

因此,在生成我的POJO和DAO之后,我尝试进行插入,但是对我的实体管理器启动了“空点异常”,这就是hibernate工具生成dao类的方式:

尝试使用生成的DAO:

public static void main(String[] args) {// TODO Auto-generated method stub    User user = new User();    user.setEmail("valter@brainset.com.br");    user.setPassword("123456");    user.setReputation(0);    DaoUser daoUser = new DaoUser();    daoUser.persist(user);}

DAO生成:

package com.example.pojo;// Generated 30/08/2011 20:43:29 by Hibernate Tools 3.4.0.CR1import javax.ejb.Stateless;import javax.persistence.EntityManager;import javax.persistence.PersistenceContext;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * Home object for domain model class User. * @see com.example.pojo.User * @author Hibernate Tools */@Statelesspublic class UserHome {    private static final Log log = LogFactory.getLog(UserHome.class);    @PersistenceContext    private EntityManager entityManager;    public void persist(User transientInstance) {        log.debug("persisting User instance");        try {            entityManager.persist(transientInstance);            log.debug("persist successful");        } catch (RuntimeException re) {            log.error("persist failed", re);            throw re;        }    }    public void remove(User persistentInstance) {        log.debug("removing User instance");        try {            entityManager.remove(persistentInstance);            log.debug("remove successful");        } catch (RuntimeException re) {            log.error("remove failed", re);            throw re;        }    }    public User merge(User detachedInstance) {        log.debug("merging User instance");        try {            User result = entityManager.merge(detachedInstance);            log.debug("merge successful");            return result;        } catch (RuntimeException re) {            log.error("merge failed", re);            throw re;        }    }    public User findById(Integer id) {        log.debug("getting User instance with id: " + id);        try {            User instance = entityManager.find(User.class, id);            log.debug("get successful");            return instance;        } catch (RuntimeException re) {            log.error("get failed", re);            throw re;        }    }}

我认为我在配置过程中一定做错了。我应该如何正确设置我的班级和刀道?

答案1

小编典典

您如何向实体经理注入资金?从外观上看,您正在尝试在SE中运行企业应用程序。

如果确实需要在SE中运行它(因此使用“ main”方法),则需要以某种方式引导持久性引擎。

我通常向实体管理器提供设置器或提供抽象获取器。从那里,您可以执行以下操作:

    _entityManagerFactory = Persistence.createEntityManagerFactory( "myJDBC" );    _entityManager = _entityManagerFactory.createEntityManager();    UserHome userHome = new UserHome();    userHome.setEntityManger( _entityManager );

您还需要一个peristence.xml文件,该文件的持久性单元必须与最终调用“ myJDBC”的内容匹配。

我希望这有帮助。

编辑#1

我认为这里有一个例子可以帮助您。这是一个包含JPA,Toplink和MySQL的helloworld,尽管MySQL部分无关紧要,但您可以根据需要切换驱动程序。

编辑#2

还有一个例子这里是使用Hibernate只(没有这么多JPA)。

编辑#3

我认为企业Eclipse工具中的hibernate工具的输出是针对于此的:企业Java。话虽这么说,要用上拥有的东西并在EE中运行它要容易得多。这并不是说您 不能
在SE中运行它,只是更具挑战性。

关于这一点,每当我在不使用JPA的SE中使用hibernate模式时,我都会使用Spring对其进行扩充-
这样可以大大减轻负载。在您开始使用它之前,我不会担心这一点,但是一旦您学习了有关hibernate和/或JPA的一些课程,我便考虑考虑一下。

eclipse indigo 64位 版的在 用 hibernate tools 反向生成的时候 总是报错

eclipse indigo 64位 版的在 用 hibernate tools 反向生成的时候 总是报错

eclipse indigo 64位 版的在 用 hibernate tools 反向生成的时候 总是报错


An internal error occurred during: "Launching test".
Direct launch not supported


eclipse 使用 hibernate 连接 mysql

eclipse 使用 hibernate 连接 mysql

Eclipse 使用 hibernate 连接 mysql 1 hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration> <session-factory> <property name="dialect"> org.hibernate.dialect.MySQLDialect </property> <property name="connection.url"> jdbc:mysql://127.0.0.1:3306/maodongbang?useUnicode=true&amp;characterEncoding=UTF-8 </property> <property name="connection.username">root</property> <property name="connection.password">mft131415138</property> <property name="connection.driver_class"> com.mysql.jdbc.Driver </property> <property name="show_sql">true</property> <property name="format_sql">true</property> <property name="hbm2ddl.auto">create</property> <mapping resource="com/cn/Students.hbm.xml"/> </session-factory> </hibernate-configuration>

2 Students.xml package com.cn;

public class Students { private String name;

public Students(String name, String pass) {
	this.name = name;
	this.pass = pass;
}

public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

public String getPass() {
	return pass;
}

public void setPass(String pass) {
	this.pass = pass;
}

private String pass;

public Students() {
}

@Override
public String toString() {
	return "Students [name=" + name + ", pass=" + pass + "]";
}

}

3 students.hbm.xml

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<!-- Generated 2017-2-18 14:14:44 by Hibernate Tools 3.4.0.CR1 -->

<hibernate-mapping> <class name="com.cn.Students" table="STUDENTS"> <id name="name" type="java.lang.String"> <column name="NAME" /> <generator/> </id> <property name="pass" type="java.lang.String"> <column name="PASS" /> </property> </class> </hibernate-mapping>

4 Test.java package com.cn; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; import org.hibernate.service.ServiceRegistryBuilder; import org.junit.After; import org.junit.Before;

public class Test {private SessionFactory sessionFactory; private Session session; private Transaction transaction; @Before public void init (){ Configuration config=new Configuration ().configure (); // 创建服务注册对象 ServiceRegistry serviceRegistry=new ServiceRegistryBuilder ().applySettings (config.getProperties ()).buildServiceRegistry (); // 创建会话工厂对象 sessionFactory=config.buildSessionFactory (serviceRegistry); // 会话对象 session=sessionFactory.openSession (); // 启动事物 transaction=(Transaction) session.beginTransaction (); } @After public void destory (){

	transaction.commit();

 session.close();
 sessionFactory.close();
}
@org.junit.Test
public void test() {
	Students s =new Students("12","12");
	session.save(s);
	
}

}

注意事项:junit 不要用 4.0 <mapping resource="填写正确路径"> junit 测试类导入的包必须是 hibernate 的 注意此 3 点可以节约许多时间

eclipse 使用JBOSS Hibernate插件逆向生成如何设置生成的POJO的名称

eclipse 使用JBOSS Hibernate插件逆向生成如何设置生成的POJO的名称

我的表类似t_user,希望逆向生成User.java,而不是TUser,JBoss插件如何设置,是在reveng.xml里面配置吗,如果是,请问如何配置。

eclipse 生成 hibernate.cfg.xml 文件报错

eclipse 生成 hibernate.cfg.xml 文件报错

Problems while loading database driverclass (org.hibernate.c3p0.internal.C3P—— 报错信息

关于如何在Eclipse中使用Hibernate Tools生成DAO?eclipse自动生成hibernate配置文件的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于eclipse indigo 64位 版的在 用 hibernate tools 反向生成的时候 总是报错、eclipse 使用 hibernate 连接 mysql、eclipse 使用JBOSS Hibernate插件逆向生成如何设置生成的POJO的名称、eclipse 生成 hibernate.cfg.xml 文件报错等相关知识的信息别忘了在本站进行查找喔。

本文标签: