我正在使用 Ant脚本从现有表中生成带有注释的hibernate pojo类。 我遇到了问题。问题是我有两个类Person和Address。这两个类之间存在OneToMany映射。
生成的类包含:
//Person.java
@OneToMany(fetch=FetchType.LAZY)
public Set<Address> getAddresses()
{
return addresses;
}
public void setAddresses(Set<Address> addresses)
{
this.addresses=addresses;
}
//Address.java
@OneToMany(fetch=FetchType.LAZY)
public Person getPerson()
{
return person;
}
public void setPerson(Person person)
{
this.person=person;
}
我遇到的情况是我不想生成一组地址。有没有办法在没有设置的情况下生成POJO。即避免反向映射。 请帮忙。提前谢谢。
答案 0 :(得分:1)
我在这里做了一个假设,但我认为你使用Hibernate Tools for Ant来生成实体类。这些工具(据我记得)基于Hibernate映射XML(hbm.xml)生成类。
我正在使用现有的注释生成hibernate pojo类 使用Ant脚本的表。我遇到了问题。问题是我 我有两个班的人和地址。有OneToMany映射 在这两个类之间。
您已经说过 Person 和 Address 类,它们或者至少应该是数据库中 tables 的映射,属于 1:N 关系。 (一个人可以有多个地址,而一个地址只能属于一个人。)因此,你应该有一个 Person.hbm.xml 和 Address.hbm.xml 文件到处都是。这意味着,如果您的映射文件是正确的,那么Hibernate Tools将生成 Set&lt; Address&gt; 字段(使用getter和setter方法),因为它的工作原理。
我不是此工具的活跃用户,但我认为您有以下选项。
(我真的不太了解Hibernate Tools,所以也许可以通过一些配置完全省略有问题的方法,但这样做真的不合适。) < / p>