Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建hello wold hibernate项目的问题_Java_Hibernate_Jpa - Fatal编程技术网

Java 创建hello wold hibernate项目的问题

Java 创建hello wold hibernate项目的问题,java,hibernate,jpa,Java,Hibernate,Jpa,好的,我已经花了两天多的时间来搜索关于创建hibernate项目的教程和指南,但我无法让事情正常进行 所以我有两个主要问题 我关于如何使用hibernate框架的假设正确吗 如果是,我如何进行每一步 以下是我的假设 1a。我完成了数据建模步骤,并准备好了一个在应用程序中使用的模式。(已完成) 1b。一、 然后,创建对象关系映射,这意味着创建要映射到每个关系的物理类。(我已经使用NetBeans:New->Entity classes从数据库中创建了这些类。这样做有效吗?或者我需要使用hibern

好的,我已经花了两天多的时间来搜索关于创建hibernate项目的教程和指南,但我无法让事情正常进行

所以我有两个主要问题

  • 我关于如何使用hibernate框架的假设正确吗

  • 如果是,我如何进行每一步

  • 以下是我的假设

    1a。我完成了数据建模步骤,并准备好了一个在应用程序中使用的模式。(已完成)

    1b。一、 然后,创建对象关系映射,这意味着创建要映射到每个关系的物理类。(我已经使用NetBeans:New->Entity classes从数据库中创建了这些类。这样做有效吗?或者我需要使用hibernate来创建这些类?)

    1c。我需要在应用程序的类路径中有hibernate JAR和一些配置/设置文件

    1d。我加载这些配置/设置文件

    1e。开始使用hibernate

    现在我看到的所有教程都没有详细说明如何执行这些步骤,我有很多表,无法手动创建所有类。有人能给出一个简洁的解决方案吗?比如:

    对于1b,使用以下命令创建对象类:hibernate-object.jar-db-classes

    1c使用so命令/插件创建设置/配置文件


    1d这就是在代码中加载这些文件的方式有几种方法可以开始使用hibernate,而您的方法(首先创建数据库表和关系)是一种可能的方法

    我的首选是首先创建带有注释的Java类,并让Hibernate为您设置数据库表

    第三种可能是创建对象关系映射XML,并让Hibernate为您生成Java类和数据库表(中间)

    无论您选择哪种方式,一个有用的起点是创建一个
    HibernateUtil
    类,如下所示:

    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("myproject.cfg.xml").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();
      }
    
    }
    

    这使得在需要的地方抓取
    会话工厂
    变得很容易。这种方法是<强>只让你开始< /强>,不推荐用于生产使用,因为它不是非常可伸缩的,我会考虑Spring集成。

    < P>首先,我会用一个简单的例子来设置Hibernate框架:

  • 如果可能的话,我会选择一张简单的桌子 关系
  • 有了这个简单的表格,我会按照 教程由@Igor Sadovnikov发布
  • 当你的例子起作用时,我 将其扩展到1:N关系
  • 我建议您构建自己的ORM类,不要将此任务委托给程序(Netbeans或类似程序),因为这些程序会添加大量无用的代码。如果因为有很多表而必须使用程序,那么必须逐个检查生成的ORM类


    注:对不起,我的英语还在学习…

    对于步骤1B,您不需要使用任何支持NetBeans的工具创建它,我建议手动编写这些类,因为在调试应用程序时很容易回忆起这种方式。 你会在网上找到很多。大多数是这样的:

    1) 下载一组官方的HibernateJARS+数据库驱动程序JAR(这将是您正在使用的数据库的自定义)

    2) 将这些库添加到项目的生成路径中

    3) 开始使用Hibernate


    如果您使用NetBeans不是最重要的,我建议您切换到Eclipse,因为您几乎找不到使用NetBeans的教程。

    据我所知,您可以为需要的表创建类(实体)。但你必须手动完成