Follow the next video to create and run your first OpenXava project:
Or if you don't like videos follow the instructions below.
Creating
a new project
First, you have to create a new
OpenXava project:

Then a wizard will appear. Just type the project name,
Invoicing.
Beware of writing the
I of
Invoicing in uppercase in
order that the links below work correctly. Also choose English as language
so the code below works. Click the
Finish button:

Now your project is ready to start
to write code:
Creating
your first entity
Developing the application is very easy. You only have to add entities in
order to make your application grow. We start with a simple version of
Customer
with only
number and
description.
Select the
com.yourcompany.invoicing.model
package and click on
New Java Class button:

Then type
Customer as class name and press
Finish.

Note that the
C of
Customer is uppercase, this is very
important, all Java classes start with uppercase.
The initial code that Eclipse provides for
Customer is pretty
simple:
package com.yourcompany.invoicing.model;
public class Customer {
}
Now, you have to fill this class
in order to convert it to an entity suitable for OpenXava. You only need
to add the @Entity annotation, the number and the description
properties:
package com.yourcompany.invoicing.model;
import javax.persistence.*;
import org.openxava.annotations.*;
import lombok.*;
@Entity // This marks Customer class as an entity
@Getter @Setter // This makes all fields below publicly accessible
public class Customer {
@Id // The number property is the key property. Keys are required by default
@Column(length=6) // The column length is used at the UI level and the DB level
int number;
@Column(length=50) // The column length is used at the UI level and the DB level
@Required // A validation error will be shown if the name property is left empty
String name;
}
At last you have enough code (just
one class) to run your application. Let's run it.
Running
the application
Click the right mouse button on
Invoicing project and select
Run
As > Java Application:

Your application is already running. To check this, open your favorite
browser (Chrome, Firefox, Internet Explorer 11, Edge or Safari) and go to
the next URL:
You get your application running
for the first time. To start click on SIGN IN button

Now, enter admin/admin and click
on SIGN IN:
Then on top the left you will
have a list of modules, choose
Customers:

Use the
Customers module to create new customers, just enter
number and name and press
Save.

Click on
List to see the list of created customers.
Congratulations, you have your first OpenXava application running.
Modifying
the application
From now on, developing the application with OpenXava is very easy. Just
write a class and go to your browser to see the result. Let's create a new
entity for
Product.
Select the
com.yourcompany.invoicing.model
package and click on
New Java Class button:

Then type
Product as class name and press
Finish.

Write the next code for Product:
package com.yourcompany.invoicing.model;
import javax.persistence.*;
import org.openxava.annotations.*;
import lombok.*;
@Entity @Getter @Setter
public class Product {
@Id @Column(length=9)
int number;
@Column(length=50) @Required
String description;
}
Now, click on the Run
button, it stops your application and restarts it again:
To see your new entity in action
open your browser and go to the URL:
After sign in with admin/admin
you'll get:

Yes, you have a new module running, and just writing a simple class. Now
you can concentrate on growing your application.
Any problem?
Congratulations! You have created your first OpenXava application.
Otherwise, if you have had any problem with the above example, ask in the
forum:
We'll help you to overcome any
difficulty.
Next steps
This getting started guide is the
lesson 1 of a complete OpenXava course. This course is meant to teach you
how to develop enterprise applications with OpenXava as well as other Java
related technologies, tools and frameworks. Together we will develop step
by step a complete application from scratch. The application chosen is a
small invoicing application with invoices, customers, products and so on.
This application is just a brief way to learn some typical cases in
business applications. You can apply everything you learn with the
invoicing application to any other business application of any other
domain.
This is the content of the course:
- Getting started:
- Lesson 1: Getting started (You're here)
- Modeling with Java:
- Inheritance:
- Basic business logic:
- Advanced validation:
- Refining the standard behavior:
- Behavior & business logic:
- References & collections:
- Appendices:
You're ready to continue to the
next lesson, however you should consider to have a look at some base
knowledge, such as:
Do you want to use IntelliJ? Do you want to go against MySQL,
PostgreSQL, Oracle, Microsoft SQL Server, AS/400, Informix, Db2 or
Firebird? Do you want a detailed reference guide? Look at the
OpenXava documentation, that includes this and much more.
Are you ready? Go
to Lesson 2