View on GitHub

qc-atlas

Platform for Sharing Quantum Software

Use a Joined Database Table for KnowledgeArtefacts

Technical Story: [https://github.com/UST-QuAntiL/qc-atlas/issues/182]

Context and Problem Statement

The class KnowledgeArtifact is a helper base class that was not intended to have its own database table (see Issue #182). The current implementation as a joined table generates a database table. Should we keep the current joined table implementation for KnowledgeArtifact?

Decision Drivers

Considered Options

All strategies for inheritance described by https://docs.jboss.org/hibernate/orm/current/userguide/html_single/Hibernate_User_Guide.html#entity-inheritance.

Decision Outcome

Chosen option: “[Joined table]”, because it is already implemented, allows for references in both ways and has no significant downside.

Positive Consequences

Pros and Cons of the Options

MappedSuperclass

Single table

Joined table

Table per class