最近很多小伙伴都在问如何在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 indigo 64位 版的在 用 hibernate tools 反向生成的时候 总是报错
- eclipse 使用 hibernate 连接 mysql
- eclipse 使用JBOSS Hibernate插件逆向生成如何设置生成的POJO的名称
- eclipse 生成 hibernate.cfg.xml 文件报错
如何在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 反向生成的时候 总是报错
An internal error occurred during: "Launching test".
Direct launch not supported
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&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的名称
我的表类似t_user,希望逆向生成User.java,而不是TUser,JBoss插件如何设置,是在reveng.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 文件报错等相关知识的信息别忘了在本站进行查找喔。
本文标签: