`

AppFuse使用手记

 
阅读更多

[AppFuse] AppFuse使用手记(转)

1。可以使用“mvn appfuse:gen-model”依据数据库的表生成POJO,如果你非常熟悉JPA也可以手写POJO,位置在DgroupId.model下。再通过“mvn appfuse:gen -Dentity=Name”生成CURD类。
   
    2。如果POJO不存在关联关系,那么执行“mvn appfuse:gen -Dentity=Name”时,如果Entity没有在hibernate.cfg.xml里,则会自动增加。如果存在关联关系,在POJO里注释了 @OneToMany或者 @ManyToMany,直接执行“mvn appfuse:gen -Dentity=Name”很容易报一下错误:
    [INFO] ------------------------------------------------------------------------
    [ERROR] FATAL ERROR
    [INFO] ------------------------------------------------------------------------
    [INFO] Use of @OneToMany or @ManyToMany targeting an unmapped class: com.reda.app.model.CompanyType.
    companies[com.reda.app.model.Company]
    [INFO] ------------------------------------------------------------------------
    [INFO] Trace
    org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: com
    .reda.app.model.CompanyType.companies[com.reda.app.model.Company]
            at org.hibernate.cfg.annotations.CollectionBinder.bindManyToManySecondPass(CollectionBinder.
    java:979)
    ......  
    因为“mvn appfuse:gen -Dentity=Name”一次只支持一个Entity(这样执行会很累啊),会找不到对应的关联者。这时,我们需要手动的将有关联关系的Entity都加入到hibernate.cfg.xml里,再执行就可以了。
   
    3。执行“mvn jetty:run-war”时,会根据POJO先删除数据库里的表再重建,如果不想对数据进行操作可以修改pom.xml,将drop熟悉修改为 false。不过执行“mvn jetty:run-war”仍然会执行建表操作,出现大量的错误日志,不过没有影响。
1    <groupId>org.codehaus.mojo</groupId>
2    <artifactId>hibernate3-maven-plugin</artifactId>
3    <version>2.0-alpha-2</version>
4    <configuration>
5        <components>
6            <component>
7                <name>hbm2ddl</name>
8                <implementation>annotationconfiguration</implementation>
9                <!-- Use 'jpaconfiguration' if you're using JPA. -->
10                <!--<implementation>jpaconfiguration</implementation>-->
11            </component>
12        </components>
13        <componentProperties>
14            <drop>false</drop>
15            <jdk5>true</jdk5>
16            <propertyfile>target/classes/jdbc.properties</propertyfile>
17            <skip>${maven.test.skip}</skip>
18        </componentProperties>
19    </configuration>


    4。执行“mvn jetty:run-war”时,会清空数据表的数据并插入默认的数据,默认的数据在%PROJECT_HOME%\src\main \resources\default-data.xml配置,这个很讨厌。修改pom.xml可以屏蔽这部分操作。

<dbunit.operation.type>NONE</dbunit.operation.type>

    5。执行“mvn jetty:run-war”时,会执行测试,很XP喔。如果测试通不过服务就起不来。找了很多配置似乎都跳不过这一步。
    appfuse:gen-model时生成的POJO,自增列不会生成@Column注释,就容易报以下的错误,增加相应的@Column就可以了:

    Unknown column 'this_.typeId' in 'field list'     另外生成的测试类也不是直接可以测试通过的,还要针对数据做一些修改。如果POJO存在关联关系,测试类的关联部分也需要进行手动设值的。

分享到:
评论

相关推荐

    appfuse

    描述中提到的是使用AppFuse 2.0版本的情况,这可能是指一个基于早期MVC架构的示例项目。在AppFuse 2.0时代,它主要支持Struts或 Tapestry 框架,而非现代的Spring Boot。由于描述中提到“没有jar包”,这可能意味着...

    appfuse使用手册

    代码自动生成工具appfuse的中文使用手册

    appfuse学习笔记(一)安装部署

    AppFuse 使用 MVC 模式,其核心组件包括 Controller、Service、DAO 和 Model。通过继承 AppFuse 提供的基类,你可以轻松地添加新的功能模块。例如,创建一个新的实体类、对应的 DAO 接口和实现、Service 接口和实现...

    可直接使用的appfuse项目

    AppFuse是一个集成了众多当前最流行开源框架与工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(现在还有lucene的,无敌了))于一身的...

    玩转appfuse--使用appfuse建设MVC网站

    **玩转AppFuse:使用AppFuse建设MVC网站** AppFuse是一个开源项目,它提供了一个快速启动MVC(Model-View-Controller)Web应用程序开发的框架。基于Java,AppFuse集成了Spring、Struts2、Hibernate等流行的技术,极...

    AppFuse

    - 使用AppFuse提供的脚本或工具,可以自动为数据库表生成相应的Java对象(POJO)以及增删改查(CRUD)操作所需的代码。 - 通过这种方式,开发者可以大大减少重复性的编码工作,更加专注于业务逻辑的实现。 4. **...

    appfuse 使用手册

    本使用手册将深入讲解AppFuse的开发流程,帮助你更好地理解和运用这个框架。 1. **系统登录与语言选择** 当用户访问AppFuse系统时,首先会看到一个登录页面。此页面提供多语言支持,包括中文、德文和英文。用户...

    appfuse 学习笔记

    Appfuse 2.0 要求使用 JDK5 或更高版本。安装完成后,需要设置 `JAVA_HOME` 环境变量,确保指向 JDK 的安装目录。这是后续安装其他工具的基础。 **2. 下载与安装 MySQL 5.x** MySQL 用于搭建数据库环境,为 ...

    APPFUSE工具研究.doc

    AppFuse分为1.x和2.0两个主要版本,其中2.0版是重构建的,采用了Maven 2作为构建工具,而1.x版本则使用Ant。 Maven 2的引入带来了许多优势,包括自动下载依赖项、简化维护(因为所有组件可以一次编译)以及方便最终...

    使用 AppFuse 快速构建 java

    ### 使用AppFuse快速构建Java应用 #### 一、概述 在现代软件开发中,快速构建应用程序的能力至关重要。特别是在Java领域,有许多工具可以帮助开发者提高效率,其中AppFuse就是一个强大的开源框架,旨在加速Java...

    Appfuse使用教程

    【Appfuse使用教程】 Appfuse 是一个开源项目,它提供了快速开发Java Web应用程序的基础框架。该框架基于Maven,利用Maven的项目对象模型(Project Object Model,POM)来管理和构建项目,使得开发者能够更高效地...

    Appfuse开发教程

    Appfuse使用Spring框架来管理依赖和配置。因此,我们需要在Spring配置文件中声明POJO和DAO,以便于Spring容器进行依赖注入。 6. **运行DaoTest** 最后,运行DaoTest以验证DAO是否正确地与数据库交互,确保所有...

    MAVEN 搭建APPFUSE

    【MAVEN 搭建APPFUSE】是一个关于使用Maven构建基于AppFuse的应用程序的教程。AppFuse是一个开源项目,旨在简化Web应用程序的开发,它提供了一个基础框架,可以帮助开发者快速启动新项目,整合了Spring、Hibernate、...

    AppFuse项目研究

    在项目初始化阶段,AppFuse 使用了一个名为 `StartupListener` 的监听器。这个监听器是 Spring 的 `ContextLoaderListener` 和 Servlet API 的 `ServletContextListener` 的子类,它在Web应用程序启动时执行一些关键...

    AppFuse2.1所需包

    AppFuse 是一个开源项目,旨在简化Java Web应用程序的开发。它提供了一个基础架构,开发者...使用AppFuse可以节省大量时间,因为它已经处理了许多常见的配置和集成问题,让开发者能够更加专注于业务逻辑和用户体验。

Global site tag (gtag.js) - Google Analytics