MySchool demo - Teachers management
  control alt P - Generate a PDF report with displayed data in list control alt X - Generate a Excel report with displayed data in list control N - Prepare to create a new entity   Detail - List  
 - Customize Name  Id 
 - Filter
F7 - Detail mode wqerqwrw  4err 
F7 - Detail mode Devil Man (Calling)  666 
F7 - Detail mode name 77hjhj  777 
F7 - Detail mode the new 
F7 - Detail mode pepe  9e 
F7 - Detail mode christian  fdsa 
1 There are 6 objects in list ( Hide them)
MySchool code

In order to obtain the above application you only need to write this code:

package org.openxava.school.model;

import javax.persistence.*;
import org.openxava.annotations.*;

@Entity
public class Teacher {
   
    @Id @Column(length=5) @Required  
    private String id;
   
    @Column(length=40) @Required
    private String name;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

And you have an application for CRUD, report generation in PDF, export to excel, searching, sorting, validations etc. And for all this you only need to write a simple Java class, no XMLs, no JSPs and no code generation.

But, OpenXava is not only for writing simple CRUDs for simple classes, you can create sophisticated applications with complex logic and advanced UI. OpenXava supports references, collections, inheritance, nested tabs, nested frames for grouping, etc. Look at Reference Guide to know all possibilities.