Hello experts.
Can anybody please help me.

I have an entity 
        -with a different table for each class in the hierarchy
        -an EmbeddedId class attribute
        -many-valued association with one-to-many multiplicity

I am getting "bad-unmapped-rel".
<openjpa-2.1.1-SNAPSHOT-r422266:1087028 fatal user error>
org.apache.openjpa.persistence.ArgumentException:
 Vous avez fourni des colonnes pour
"com.sopra.evolan.collection.common.garantie.entity.GarantieJMV.listeGarantieJMVCreances",
mais ce mappage ne permet pas de colonnes dans ce contexte.
at
org.apache.openjpa.jdbc.meta.MappingInfo.assertNoSchemaComponents(MappingInfo.java:382)

This mapping is working in Hibernate. 

Thanks in advance for your help! 


eg

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
@NamedQueries({
        @NamedQuery(name = GarantieJMV.LIST_BY_DOSSIER, query = "SELECT a
FROM GarantieJMV a WHERE a.id.idetb=:idetb AND a.id.ndoss=:ndoss",
                @NamedQuery(name = 
GarantieJMV.LIST_BY_DOSSIER_WITH_GARANTIE_CREANCES,
query = "SELECT a FROM GarantieJMV a LEFT JOIN FETCH
a.listeGarantieJMVCreances WHERE a.id.idetb=:idetb AND a.id.ndoss=:ndoss")
                )})
public abstract class GarantieJMV
    implements IDatesCommunes, Serializable, IMultiEtablissement
{
        @EmbeddedId
        private GarantieNID id;
        ....
    /**
     * GarantieJMVCreances associées
     */
    @OneToMany(mappedBy = "garantieJMV", fetch = FetchType.LAZY, cascade =
{CascadeType.ALL})
    private Set<GarantieJMVCreance> listeGarantieJMVCreances;
......
        
Embeddable
public class GarantieNID
    implements Serializable, Comparable<GarantieNID>, IMultiEtablissementNID
{
    private static final long serialVersionUID = 1L;

    /**
     * Code établissement bancaire
     */
    @Column(name = "IDETB", nullable = false, length = 5, columnDefinition =
"char(5)")
    private String idetb;

    /**
     * Numéro de dossier
     */
    @Column(name = "NDOSS")
    private Integer ndoss;

    /**
     * Identifiant garantie
     */
    @Column(name = "IDGAR", nullable = false, length = 22, columnDefinition
= "char(22)")
    private String idgar;
.....

@Entity
@Table(name = "PPJV3T")
public class GarantieJMVCreance
    implements Serializable, IDatesCommunes
{
    private static final long serialVersionUID = 1L;

    /**
     * Clé naturelle
     */
    @EmbeddedId
    private GarantieCreanceNID id;

        ....

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumns(value = {
            @JoinColumn(name = "IDETB", referencedColumnName = "IDETB",
insertable = false, updatable = false),
            @JoinColumn(name = "NDOSS", referencedColumnName = "NDOSS",
insertable = false, updatable = false),
            @JoinColumn(name = "IDGAR", referencedColumnName = "IDGAR",
insertable = false, updatable = false)})
    private GarantieJMV garantieJMV;
....






--
View this message in context: 
http://openjpa.208410.n2.nabble.com/InheritanceType-TABLE-PER-CLASS-EmbeddedId-not-working-tp7581415.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to