Dear all, Just wanted to mention that after described upgrade (SB 3.0.5 → SB 3.1.2), the next mapping stopped working (application couldnt start either).
ISO639Language is a simple embeddable that stores a locale like literal and ‘validates’ it upon creation. Nothing too fancy.
@Embeddable
public class ISO639Language {
protected ISO639Language(){}
public ISO639Language(String value){
this.setValue(value);
}
@Basic
@Column( name = "LANGUAGE", nullable = false, unique = false )
@Pattern( regexp = "^[^-]{2,3}(-[^-]{2,3})?(-[^-]{2,3})?$" )
private String value;
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value.trim().replace('_', '-');
}
}
I guess it has to do with the introduction of mapping composite/struct types https://hibernate.atlassian.net/browse/HHH-15327 and, checking at source code, with https://hibernate.atlassian.net/browse/HHH-15830 . The only workaround that i can think of to make it work again is to use plain strings instead of the embeddable, but i guess that PropertyBinder may use the Convert annotation to realize that this is actually a basic type binding. Thank you for your help! BR Juan Pablo |