Christian, Thanks a lot for detailed response. It really means a lot to me! ”The workaround is to not use a type variable for persistent attribute types.”: Maybe this explains only the case when persisting an attribute of type “type-variable-of-Generic-MappedSuperclass” (Enum in our case). How is that recommendation related to the original issue, where the attribute type of ServiceTaskCallback serviceTaskCallback is not of “type-variable-of-Generic-MappedSuperclass” and is still defined in “{{TaskServiceDocument}}Generic-MappedSuperclass“: 43 @Type(JsonBinaryType.class) 44 @Column(columnDefinition = "jsonb") 45 public{{ ServiceTaskCallback serviceTaskCallback;}} If I understand it correctly there might be two different issues when it comes to Generic MappedSuperclass class:
Will the fix you mentioned address both issues? Or? “In previous versions of Hibernate the type of that attribute was actually an (arbitrary) one of the possible type arguments as provided through subtypes of TaskServiceDocument. This is obviously wrong“. This might be wrong, however backward compatibility and reasonable mitigation is also a dimension to consider from client/consumer perspective when it comes to big legacy systems. Christian, is there an opportunity to have a live chat, such as zoom, to ease the communication? |