Issue Type: Bug Bug
Affects Versions: 4.1.11
Assignee: Unassigned
Components: core, entity-manager
Created: 10/Apr/13 1:45 AM
Description:

Given a mapping like

@ManyToOne(fetch=FetchType.EAGER, optional=false)
@JoinColumnsOrFormulas({
  @JoinColumnOrFormula(formula=@JoinFormula(value=Titel.DOMAIN_FORMULA, referencedColumnName="rv_domain")),
  @JoinColumnOrFormula(column=@JoinColumn(name="titel", referencedColumnName="rv_low_value"))
})
@Fetch(FetchMode.JOIN)
@NotNull
private Titel titel;

where Titel is a subtype of a DomainValue:

@Entity
@DiscriminatorValue(Titel.DOMAIN)
public class Titel extends DomainValue {
	private static final long serialVersionUID = 5804243997732685958L;
	
	public final static String DOMAIN = "TITEL";
	public final static String DOMAIN_FORMULA = "'" + DOMAIN + "'";	
}

base class DomainValue

@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@Cacheable(true)
@Cache(usage=CacheConcurrencyStrategy.READ_ONLY)
@Immutable
@Table(name="cg_ref_codes")
@IdClass(DomainValue.PrimaryKey.class)
@DiscriminatorColumn(name="rv_domain")
public class DomainValue implements Serializable {
...

}

the @NotNull leads to a class cast exception while starting the persistence unit:

java.lang.ClassCastException: org.hibernate.mapping.Formula cannot be cast to org.hibernate.mapping.Column
	at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyNotNull(TypeSafeActivator.java:314) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]
	at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyConstraints(TypeSafeActivator.java:247) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]
	at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyDDL(TypeSafeActivator.java:209) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]
	at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyRelationalConstraints(TypeSafeActivator.java:186) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]
	at org.hibernate.cfg.beanvalidation.TypeSafeActivator.applyRelationalConstraints(TypeSafeActivator.java:158) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]
	at org.hibernate.cfg.beanvalidation.TypeSafeActivator.activate(TypeSafeActivator.java:110) ~[hibernate-core-4.1.11.Final.jar:4.1.11.Final]

Mapping seams to work, though. But i guess the validation isnt't in place.

Environment: Java 7, Spring 3.2
Project: Hibernate ORM
Priority: Major Major
Reporter: Michael Simons
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira