我正在尝试包含以下内容
private org.springframework.web.multipart.commons.CommonsMultipartFile photo;
@Transient
public CommonsMultipartFile getPhoto() {
return photo;
}
public void setPhoto(CommonsMultipartFile photo) {
this.photo = photo;
}
在我的pojo类中从数据库表生成。
我已经研究过找到一种方法来提及额外的类代码 在元标记中如下
http://www.scribd.com/doc/23123635/30/Guiding-the-reverse-engineering-process
但这不允许添加属性变量照片。
请建议一种方法如何在reveng.xml中执行此操作 每次运行hbm2java都会包含此代码。
提前致谢!
答案 0 :(得分:2)
您可以使用reveng模板来实现此类自定义代码。如果您打开hibernate-tools.jar
,您会在pojo
文件夹中找到.ftl文件。您需要覆盖它们以放置自定义代码。
步骤:
如果您正在使用maven,请将其放在componentProperties
下,以获取hbm2java目标:
<templatepath>src/main/resources/reveng.templates/</templatepath>
<filepattern>*.java</filepattern>
在资源下创建revenge.templates/pojo
文件夹。确保文件夹名称始终为pojo
,否则无法检测到覆盖。
创建pojo.ftl
文件并复制jar中存在的pojo.ftl
文件中的内容。在此文件中添加所有import语句。
同样,请按照其他文件找出您想要自定义代码的确切位置。
答案 1 :(得分:0)
据我所知,没有办法在reveng.xml或自定义ReverseEngineeringStrategy中指定它。
我解决这个问题的方法是将所有生成的基础POJO类扩展为自定义类层,并在那里添加瞬态属性和特殊行为。不完全是你所要求的,但它运作良好,允许灵活性,而不会牺牲代码生成的好处。