[hibernate-issues] [Hibernate-JIRA] Commented: (HSEARCH-1108) programmatic API doesn't work correctly for entities with @MappedSuperclass parent
Manthos (JIRA)
noreply at atlassian.com
Fri May 11 11:50:09 EDT 2012
[ https://hibernate.onjira.com/browse/HSEARCH-1108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46619#comment-46619 ]
Manthos commented on HSEARCH-1108:
----------------------------------
As far as I remember, programmatic API creates Annotations (with AnnotationFactory) and works like you annotate your Entities in your source.
ex:
{code}
@MappedSuperclass
public class Foo {
@Basic
public String foo;
}
@Entity
public class Bar extends Foo {
@Basic
public String bar;
}
{code}
So you have to...
{code}
searchMapping.entity(Foo.class)
.property("foo", ElementType.FIELD).field();
searchMapping.entity(Bar.class).indexed();
.property("bar", ElementType.FIELD).field();
{code}
As far as I know, per Entity Mapping is currently not possible. So if you have another Entity, ex 'Baz extends Foo', Baz inherits Foo mappings. The same for Embeddable classes.
It would be a nice if programmatic API could manage inherited properties (from MapperSuperclass and Embeddable) per Entity... but I'm afraid that this is a big change...
Please feel free to clarify if I'm wrong.
> programmatic API doesn't work correctly for entities with @MappedSuperclass parent
> ----------------------------------------------------------------------------------
>
> Key: HSEARCH-1108
> URL: https://hibernate.onjira.com/browse/HSEARCH-1108
> Project: Hibernate Search
> Issue Type: Bug
> Components: mapping
> Affects Versions: 4.0.0.Final, 4.1.0.Final
> Environment: HibernateCore 4.1.2, HSearch 4.1.0, Glassfish3 (JPA) or even as a standalone java app
> Reporter: David Janca
> Labels: candidate_for_next, programmatic
>
> The hibernate search configuration specified by programmatic API (SearchMapping class) is ignored for entities that have @MappedSuperclass parent.
> All fields that are declared in a @MappedSuperclass parent are not recognized by programmatic config and ignored (when configured like this: mapping.property("property", ElementType.FIELD)).
> We've already found a workaround for this problem - to overwrite getter method in @Entity class (just calling super.getter) and configure it like following: mapping.property("property", ElementType.METHOD). But I think that's not the real solution.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list