optaplanner-core works based on POJO's (javabeans). It's oblivious to the fact that in optaplanner-examples, those POJO's are being read/written to XML files by XStream (and it doesn't care). Similarly, you can use any other technology to store those POJO's:
- JPA (for example Hibernate-ORM, OpenJPA, ...) to store them into a database
- JDBC to store them into a database. Note: JDBC works with SQL statements, so you 'll need to manually map SQL records to POJO's.
- JAXB to store them in XML
- XStream to store them in XML (as the examples do it)
- Infinispan, mongodb, ... to store them in to a big data cloud. Note: might require manually mapping too, unless you use hibernate-ogm
- ...
OptaPlanner doesn't care, so it doesn't restrict you :)