MicroStream Reference Manual
MicroStream HomeAPI Docs
4.0
4.0
  • Preface
  • System Requirements
  • License
  • Changelog
  • Installation
  • Data-Store
    • Overview
    • Getting Started
    • Root Instances
    • Configuration
      • Properties
      • Storage Files and Directories
      • Using Channels
      • Housekeeping
      • Backup
      • Lock File
    • Storage Targets
      • Local File System
      • SQL Databases
        • Oracle
        • MySQL
        • SQLite
      • Blob Stores
        • Oracle Cloud
        • Oracle NoSQL
        • Coherence
    • Storing Data
      • Convenience Methods and Explicit Storing (Transactions)
      • Lazy and Eager Storing
      • Transient Fields
      • Best Practice
    • Loading Data
      • Lazy Loading
        • Touched Timestamp, Null-Safe Variant
        • Clearing Lazy References
    • Deleting Data
    • Queries
    • Application Life-Cycle
    • Legacy Type Mapping
      • User Interaction
    • Backup Strategies
    • Import / Export
    • Housekeeping
    • Customizing
      • Custom Type Handler
      • Custom Legacy Type Handler
      • Custom Class Loader
      • Custom Storing Behavior
      • Optional Storage Manager Reference in Entities
    • REST Interface
      • Setup
      • REST API
      • Client GUI
    • FAQ
      • Data Model
      • Data Management
      • File Storage
      • Java Features
      • Miscellaneous
    • Addendum
      • Supported Java Features
      • Specialized Type Handlers
      • Examples and Demo Projects
  • Cache
    • Overview
    • Getting Started
    • Configuration
      • Properties
      • Storage
    • Use Cases
      • Hibernate Second Level Cache
      • Spring Cache
  • Basic Concepts
    • Layered Entities
      • Configuration
      • Defining Entities
      • Creating Entities
      • Updating Entities
      • Versioning
      • Logging
      • Multiple Layers
    • Wrapping
      • Configuration
      • Usage
Powered by GitBook
On this page
Export as PDF
  1. Basic Concepts
  2. Layered Entities

Creating Entities

PreviousDefining EntitiesNextUpdating Entities

Last updated 3 years ago

This is the manual for older MicroStream versions (Version < 5.0).

The new documentation (Version >= 5.0) is located at:

Given is the following entity:

public interface Person extends Entity
{
	public String firstName();
	 
	public String lastName();
}

So how is it done? Since the code generator provides a creator, we can use it to create a new Person.

Person john = PersonCreator.New()
    .firstName("John")
    .lastName("Doe")
    .create();

Let's see what the debugger displays if we run this code:

There's always an entity chain, with

  • The identity (PersonEntity) as outer layer

  • Then the logic layers, none here in our example

  • And the inner most layer is always the data (PersonData), which holds the properties.

The properties can be accessed like defined in the entity's interface:

String firstName = john.firstName(); // -> John
String lastName  = john.lastName();  // -> Doe 

The creator can also be used to create copies. Just hand over the existing one as template:

Person mike = PersonCreator.New(john) // use John as template
			.firstName("Mike")
			.create();

This will create a "Mike Doe".

https://docs.microstream.one/