# Have your JPA and sync it too.

Use your pre-existing JPA entity code in the browser.
Sync portions of your database across the wire by writing JPQL queries.
Sync your entity state to your UI with Errai Data Binding.

### Declarative is Good

As you move toward a more and more declarative style, you allow the compiler and the framework to catch more mistakes up front. Broken links? A thing of the past!

### Boilerplate is Bad

The problems you're actually trying to solve are complex enough as it is. Don't make the novel code that solves your specific problems into the needle in a haystack of configuration, repetitive meaningless drivel, and ornate constructions that work around the framework.

### Code it Once

When it comes to solving a business problem in code, once is more than enough! As compelling as the autonomous AJAX based client architecture is, when your client code is in JavaScript and your server code isn't, you're now committed maintaining two apps in parallel, and keeping them up-to-date in lock step.