All Projects → xvik → guice-persist-orient

xvik / guice-persist-orient

Licence: MIT license
Guice integartion for OrientDB

Programming Languages

java
68154 projects - #9 most used programming language
groovy
2714 projects

Projects that are alternatives of or similar to guice-persist-orient

noicejs
extremely thin async dependency injection
Stars: ✭ 16 (-54.29%)
Mutual labels:  guice
ncms
Java CMS engine. Host and develop multiple websites inside a single instance through the GUI and benefit from features like A/B testing, affiliate tracking tools, and a high performance template engine with CSS stylesheets processing & scripts minification.
Stars: ✭ 32 (-8.57%)
Mutual labels:  guice
dropwizard-guicey-ext
Dropwizard-guicey extensions
Stars: ✭ 11 (-68.57%)
Mutual labels:  guice
giulius-selenium-tests
A test harness that allows Selenium tests to be run using JUnit and test fixtures to be created and injected by a WebDriver-aware Guice
Stars: ✭ 12 (-65.71%)
Mutual labels:  guice
Guice-configuration
Guice configuration module allows inject values from files as JSON, HOCON and Properties format
Stars: ✭ 28 (-20%)
Mutual labels:  guice
vertx-graphql-example
Vert.x Server which exposes a GraphQL API
Stars: ✭ 29 (-17.14%)
Mutual labels:  orientdb
herald
Log annotation for logging frameworks
Stars: ✭ 71 (+102.86%)
Mutual labels:  guice
guice-ext-annotations
Guice annotations extensions
Stars: ✭ 22 (-37.14%)
Mutual labels:  guice
kotlin-guiced
Convenience Kotlin API over the Google Guice DI Library
Stars: ✭ 17 (-51.43%)
Mutual labels:  guice
guice-validator
Guice javax.validation method validation integration
Stars: ✭ 35 (+0%)
Mutual labels:  guice
acteur
A framework for writing lightweight, scalable servers with Guice and Netty
Stars: ✭ 66 (+88.57%)
Mutual labels:  guice
Orientdb
OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries. OrientDB Community Edition is Open Source using a liberal Apache 2 license.
Stars: ✭ 4,394 (+12454.29%)
Mutual labels:  orientdb
wicket-orientdb
Everything you need to work with Apache Wicket and OrientDB
Stars: ✭ 33 (-5.71%)
Mutual labels:  orientdb
dropwizard-orient-server
Embedded OrientDB server for dropwizard
Stars: ✭ 16 (-54.29%)
Mutual labels:  orientdb
Finatra
Fast, testable, Scala services built on TwitterServer and Finagle
Stars: ✭ 2,126 (+5974.29%)
Mutual labels:  guice
giulius
Tools for loading file-based configuration files and mapping them with Guice's ``@Named`` and more
Stars: ✭ 18 (-48.57%)
Mutual labels:  guice
houdini
Type conversion system
Stars: ✭ 34 (-2.86%)
Mutual labels:  guice
Slice
Slice - a framework which simplifies Sling/AEM development by using dependency injection pattern and mapping Sling resources into Java objects
Stars: ✭ 64 (+82.86%)
Mutual labels:  guice
vertx-mybatis
vertx sqlclient template using mybatis NON-BLOCK & ASYNCHRONOUS
Stars: ✭ 23 (-34.29%)
Mutual labels:  guice
tqrespec
TQRespec - The respec tool for Titan Quest game
Stars: ✭ 59 (+68.57%)
Mutual labels:  guice

Guice integration for OrientDB

License CI Appveyor build status codecov

DOCUMENTATION: http://xvik.github.io/guice-persist-orient/

Examples repository

Support: Gitter chat

guice-persist-orient wins 4th place in Software Quality Award 2015

About

OrientDB is document, graph and object database (see intro and starter course). Underlying format is almost the same for all database types, which allows us to use single database in any way. For example, schema creation and updates may be performed as object database (jpa style) and graph api may be used for creating relations.

Features:

  • For orient 3.1 (java 8)
  • Integration through guice-persist (UnitOfWork, PersistService, @Transactional)
  • Support for document, object and graph databases
  • Database types support according to classpath (object and graph db support activated by adding jars to classpath)
  • All three database types may be used in single transaction (changes will be visible between different apis)
  • Hooks for schema migration and data initialization extensions
  • Extension for orient object to scheme mapper with plugins support
  • Auto mapping entities in package to db scheme or using classpath scanning to map annotated entities
  • Auto db creation (for memory, local and plocal)
  • Different db users may be used (for example, for schema initialization or to use orient security model), including support for user change inside transaction
  • Support method retry on ONeedRetryException
  • Spring-data like repositories with advanced features (e.g. generics usage in query). Great abilities for creating reusable parts (mixins). Support plugins.
  • Basic crud mixins with ability to use object api for graphs
  • Compatible with Play framework

Thanks to

Setup

Maven Central

Maven:

<dependency>
    <groupId>ru.vyarus</groupId>
    <artifactId>guice-persist-orient</artifactId>
    <version>4.1.0</version>
</dependency>
<!--
<dependency>
    <groupId>com.orientechnologies</groupId>
    <artifactId>orientdb-object</artifactId>
    <version>3.1.12</version>
</dependency>
<dependency>
    <groupId>com.orientechnologies</groupId>
    <artifactId>orientdb-graphdb</artifactId>
    <version>3.1.12</version>
</dependency>-->

Gradle:

implementation 'ru.vyarus:guice-persist-orient:4.1.0'
//implementation "com.orientechnologies:orientdb-object:3.1.12"
//implementation "com.orientechnologies:orientdb-graphdb:3.1.12"

Commented imports required to enable object and graph db support.

OrientDB Guice guice-persist-orient
3.1 5.0.1 4.1.0
3.0 5.0.1 4.0.0
2.2 4.2.0 3.3.2
2.1 4.1.0 3.2.0
2.0 4.0.0 3.1.1
1.0 4.0.0 2.1.0

NOTE: It's very important for object db to use exact javassist version it depends on. If other libraries in your classpath use javassist, check that newer or older version not appear in classpath.

Snapshots

You can use snapshot versions through JitPack:

  • Go to JitPack project page
  • Select Commits section and click Get it on commit you want to use (top one - the most recent)
  • Follow displayed instruction: add repository and change dependency (NOTE: due to JitPack convention artifact group will be different)

Usage

Read documentation

Might also like

  • generics-resolver - extracted library, used for generics resolution during finders analysis
  • dropwizard-orient-server - embedded orientdb server for dropwizard
  • guice-validator - hibernate validator integration for guice (objects validation, method arguments and return type runtime validation)
  • guice-ext-annotations - @Log, @PostConstruct, @PreDestroy and utilities for adding new annotations support

Contribution

Contributions are always welcome, but please check before patch submission:

$ gradlew check

java lib generator

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].