Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7014903
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T22:34:55+00:00 2026-05-27T22:34:55+00:00

I have some Entities that look like this: @Entity public abstract class AbstractEntity{ @Id

  • 0

I have some Entities that look like this:

@Entity
public abstract class AbstractEntity{

    @Id
    private Long id;
    String name;
    User author;
    @Lob
    byte[] data;

}


public class EntityOne extends AbstractEntity{
    // nothing new
}


public class EntityTwo extends AbstractEntity{
    // nothing new
}


public class EntityThree extends AbstractEntity{
    // nothing new
}

The byte[] defined in the superclass is the interesting part of each subclass entity. The reason I want to subclass is to enforce typing rules, as some parts of the program require EntityThree, while some parts of the program require EntityTwo. the byte[] will have completely different meaning from subclass to subclass.

It feels a little strange, because I don’t expect that any of the subclasses will add any fields or methods… So i use inheritance only as a typing tool.

Is this a reasonable design? A better way to accomplish this? Does it break any best practices?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T22:34:56+00:00Added an answer on May 27, 2026 at 10:34 pm

    It is a good OO practice. For the database, use the SINGLE_TABLE Inheritance strategy (the default), and maybe use a custom @DiscriminatorValue per subclass, otherwise you’ll get classnames in your table.

    From a DBA perspective, there is no difference between this and using a single class with a property TYPE.

    For OO, the subclasses can be much more usefull, e.g. you can use it to implement certain methods differently or implement the visitor or strategy pattern instead of tedious if-then-else or instanceof structures.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have Hibernate Entities that look something like this (getters and setters left out):
Imagine you have an entity that has some relations with other entities and you
I have a service with some entities that I would like to expose in
I have data that looks like this: entities id name 1 Apple 2 Orange
I have a some JPA entities that inherit from one another and uses discriminator
I am attempting to add some entities that I have created. When I try
In one of my projects, I have some classes that represent entities that cannot
I have 5 entities that are loaded using the entity framework. Here they are:
I've got some entities which have decimal properties on them. These entities' properties are
In CoreData, I have the data graph with some entities, and each object is

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.