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 8853313
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 14, 20262026-06-14T13:37:18+00:00 2026-06-14T13:37:18+00:00

I’ve looked at How to store data with dynamic number of attributes in a

  • 0

I’ve looked at How to store data with dynamic number of attributes in a database, but it didn’t quite answer my question. The system I am implementing is rather large, so I’ll stick with the objects I am concerned about: Item and Category. An Item has a variable number of attributes depending on the Category that it belongs to. For instance, Items belonging to the “T-shirt” Category would have an attribute for size, while Items belonging to the “Car” Category would have an attribute for model. Someone logged into the system as an Admin can create new Categories with completely new attributes. What’s the best way to structure this both in my Java code and in my database to make this work?

If the categories weren’t dynamically created, I’d use inheritance so that I would have a TShirtItem object with its specific attributes filled in. But since it is dynamic, I’m puzzled. I saw a similar question that suggested using the Map data structure, but I am not sure how that would work…

The question I referred to at the top would suggest on the database end that I would have an Category table, and Attributes table, and relationship table linking what attributes go with what Category. This makes sense. But I’m tripped up again when thinking about the Item object. I could store the unique Category_ID in the Item table, but where would I store the attributes for each Item?

  • 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-06-14T13:37:19+00:00Added an answer on June 14, 2026 at 1:37 pm

    Here is a simple java approach to do it. While designing large systems I always suggest to look at the bigger picture. The issue here is dynamically changing attributes. It would not be easy but yeah it is interesting.

    The structure of your item class has to be like the following:

    class Item{
       private String itemName; // I assume all items will have a name.
       private Map<ItemAttibuteName , Object> attributeMap ; // this will be a dynamic map.
    
       public Map<ItemAttibuteName, Object> getAttributeMap(){//getter for attribute map
           if( null == attributeMap)
              return new HashMap<String, Object>(); 
           return attributeMap ;
    
       }
       // you can synchronize this if needed
       public void setAttribute(ItemAttibuteName name, Object value){ 
           attributeMap.put(name, value);
       }
    
       public Object getAttribute(ItemAttibuteName name){ 
           return attributeMap.get(name);
       }
    }
    
    public enum ItemAttibuteName{
        SIZE,
        COLOUR        
    }
    

    This approach suites your needs, further you can use a factory pattern to instantiate the Items depending on the category and make it an elegant code.

    Please get back if you still have some doubts.

    EDIT:
    Now there will be a complicated way to get all the attributes of an element in the code while programming, because you don’t have getters or setters for the attributes. Well, the approach will help if you can maintain a Set of attributes added to the Item, in the Item class or you can query for the keySet of the item class’s attributeMap property.

    private Set<ItemAttibuteName> attributes;
    

    or

    attributeMap.keySet();
    

    Happy to Help

    Dharam

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

Sidebar

Related Questions

This could be a duplicate question, but I have no idea what search terms
Let's say I'm outputting a post title and in our database, it's Hello Y&#8217;all
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
link Im having trouble converting the html entites into html characters, (&# 8217;) i
I want to count how many characters a certain string has in PHP, but
I have a French site that I want to parse, but am running into
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
I don't have much knowledge about the IPv6 protocol, so sorry if the question
I'm trying to convert HTML to plain text. I get many &\#8217; &\#8220; etc.
Seemingly simple, but I cannot find anything relevant on the web. What is the

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.