Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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 带接缝的设计问题_Java_Code Generation_Seam - Fatal编程技术网

Java 带接缝的设计问题

Java 带接缝的设计问题,java,code-generation,seam,Java,Code Generation,Seam,我有一个聪明的程序,它提供了一个包含数据库非常特定元数据的文件,在eclipse中为我生成了一个完整的项目。它使用hibernate访问数据库,提供基本的crud功能以及xhtml接口 这一切都非常有效,只要需要简单的操作,几乎任何事情都可以完成。然而,我当然希望我迟早会修改这个项目来实现一些定制行为 我可以只修改项目而不回头,但我将失去能够重新生成项目以添加新表和行为的巨大优势。虽然我可以用我的更改生成一个新项目并手工应用这些更改,但我不希望每次需要进行更改时都这样做 不幸的是,无法触摸生成此

我有一个聪明的程序,它提供了一个包含数据库非常特定元数据的文件,在eclipse中为我生成了一个完整的项目。它使用hibernate访问数据库,提供基本的crud功能以及xhtml接口

这一切都非常有效,只要需要简单的操作,几乎任何事情都可以完成。然而,我当然希望我迟早会修改这个项目来实现一些定制行为

我可以只修改项目而不回头,但我将失去能够重新生成项目以添加新表和行为的巨大优势。虽然我可以用我的更改生成一个新项目并手工应用这些更改,但我不希望每次需要进行更改时都这样做

不幸的是,无法触摸生成此项目的工具(因为它不是我们的工具,而是生成项目模板的第三方软件公司的工具)

我注意到它大量使用Seam框架来实例化生成的类(使用
@In(create=true)
)。是否需要扩展生成的类,以便重新生成现有类不会覆盖我的更改,但这些扩展类是否已实例化


是否有一些策略可以用来最小化对生成类的修改(理想的情况是通过向项目中添加文件来修改行为,尽管我意识到这对于xhtml文件是不可能的)?任何帮助都将不胜感激,尽管我意识到在这之前必须对工具进行一些更改(例如工厂?)。

这听起来也像seam gen。这可以帮助您:

我不喜欢seam-gen。它是一个价格低廉的快捷工具。看到这个帖子了吗

我喜欢Seam,但我不使用/喜欢Seam-gen。Seam-gen不适合现实世界的应用程序

除此之外:

@In(create=true) BeanClass beanName

从某个上下文注入一个名为“beanName”并键入BeanClass的bean。如果该bean还不存在,那么将创建它(因为create=true)。如果它存在于某个上下文中(页面、请求、会话、应用程序、工作流等),它将被找到,并被注入到属性beanName中。

听起来很像seam-gen。这就是您正在使用的吗?很可能,尽管我不能确定。几天前刚刚参加了速成班,我仍然缺少很多关于它如何工作的细节。谢谢你的反馈。是的,听上去,我也不太喜欢这个seam gen。嗯,也许我可以在文档中找到一些东西。