当前位置: 首页 > 面试题库 >

具有休眠注释的架构导出

权黎昕
2023-03-14
问题内容

我正在使用hibernate注释,并且想导出数据库模式。

类似于带有hbm xml文件的schemaexporttask。


问题答案:

确实,原始的Hibernate Core SchemaExportTask只能处理Hibernate
XML映射文件,而不能处理注释。您需要的是Hibernate
Tools
HibernateToolTask附带的工具。

这是一个改编自Java Persistence With Hibernate的用法示例:

<taskdef name="hibernatetool"
         classname="org.hibernate.tool.ant.HibernateToolTask"
         classpathref="project.classpath"/>
  <target name="schemaexport" depends="compile, copymetafiles"
          description="Exports a generated schema to DB and file">
    <hibernatetool destdir="${basedir}">
      <classpath path="${build.dir}"/>
      <configuration 
          configurationfile="${build.dir}/hibernate.cfg.xml"/>
      <hbm2ddl
          drop="true"
          create="true"
          export="true"
          outputfilename="helloworld-ddl.sql"
          delimiter=";"
          format="true"/>
    </hibernatetool>
</target>

也可以看看

  • Hibernate 3注释和蚂蚁


 类似资料:
  • 问题内容: 我的大脑开始为此烦恼,这很简单吗: 问题答案: 就像是:

  • 问题内容: 休眠注释应该放在哪里? 它是我的实例变量上方的线吗?还是在吸气剂之前?还是在二传手之前?还是真的不重要吗? 非常感谢 问题答案: 您可以将它们放在 野外 或 吸气剂上 。从《 Hibernate注释参考指南》中: 2.2.1。将POJO标记为持久实体 (…) 根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性。EJB3规范要求您在将要访问的元素类型上声明注释,即,

  • 问题内容: 有一个结构。我想以这种方式链接这三个实体:公司应包含ID,公司名称和部门列表,每个部门都有一个工人列表,ID和部门名称。每个工人都有名字,身份证。 我试图与一对多和多对一建立联系,但未成功。 公司 部门 工人 我从开始: 它填充公司,但不填充其他表,也没有创建任何联接(映射)错误: 问题答案: 除了Glenn Lane的答案中提到的级联,您还需要了解双向关联是如何工作的。 它们有一个所

  • 问题内容: 我想使用联接表在两个表之间建立一对多关系。 最后,我想使用Hibernate批注执行此操作。 我找到了一些使用xml映射执行此操作的示例,但没有带注释的示例。 我相信这就是需要创建表的方式 问题答案: 不要寻找例子。阅读官方文档: 另外,请注意,这是单向一对多关联的默认设置。因此,如果默认的表名和列名适合您,您甚至不必提供注释。

  • 问题内容: 创建一个新的数据库架构,并创建一个不存在的数据库架构,并更新现有的数据库架构。如果我想检查数据库模式是否存在,并根据将要创建的数据库模式来检查,该如何实现。目前,我的配置是: 和HibernateEMSDao.java: 这是工作。什么配置可以帮助我实现这一目标?就像是: 检查ID = 1的用户是否存在 如果没有创建架构 感谢致敬。 问题答案: 您可以禁用该选项,检查条件(可能使用普通

  • 问题内容: 我有一张桌子DEAL和一张桌子DEAL_TYPE。我想映射以下代码: 问题在于数据已经存在于数据库中。而且我很难将类映射到数据库。 数据库看起来像这样: 我知道我可以在交易类型之间使用简单的@OneToMany关系,但是我更喜欢使用枚举。这可能吗? 我几乎可以通过使用EnumType.ORDINAL类型来使其工作。但不幸的是,我的交易类型表中的ID不是连续的,并且不是从1开始。 有什么