0

我最近安装了 Eclipse Helios 和 Hibernate Tools 3.4.0.Beta1。

我一直在尝试从映射文件生成“基类”,但不知道该怎么做。假设我有一个名为 Individual.hbm.xml 的映射文件。我希望 Hibernate 工具生成 2 个 POJO: - 一个 BaseIndividual.java,其中包含构造函数和 getter/setter - 一个 Individual.java,我可以在其中添加“自定义”代码,当我重新生成 POJO 时不会删除该代码

我花了很多时间寻找信息,但从未找到实际的答案。如果有人可以提供帮助...在此先感谢

4

2 回答 2

1

我在自己尝试做同样的事情时遇到了你的问题(我认为)。

我所做的是在我的 hbm.xml 配置文件中设置以下内容:

<class
    name="User"
    table="USERS">
    <meta attribute="generated-class">ocs.authentication.UserBase</meta>
    <id
        name="user_id"
        column="USER_ID"
        type="integer">
        <generator class="increment"/>
    </id>
    <property
        name="username"
        column="USERNAME"
        type="string" />
</class>

请注意该<meta attribute="generated-class">部分。这将导致生成的类被称为 UserBase(在这种情况下)。然后,您可以创建另一个将扩展此基类的类(例如称为 User):

public class User extends UserBase {

    public User() {
    }

    public void SomeFunction() {
    ...
    }

}

这似乎对我有用。我希望这对您或其他想要做类似事情的人有用。

于 2012-05-27T16:24:26.743 回答
0

我也在寻找一种方法来做到这一点。我现在正在做的是:

  • 将我的自定义类“Individual.java”保存到另一个包而不更新引用。
  • 生成我所有的pojo(带有表的名称,即个人)
  • 将它们重命名为 tablename+"Base"(即 IndividualBase)而不更新引用)
  • 然后移动我的自定义类(个人),它从另一个包中扩展了 pojo。

您是否找到了一种自动方法,例如:

  • 使用自定义模板
  • 编写你自己的 ant 任务
  • 配置hibernate.reveng.xml

我同意 Hibernate Synchronizer 做得很好!

于 2011-09-02T08:21:45.853 回答