JPA Один ко Многим, используя JoinTable Ошибка - PullRequest
1 голос
/ 24 декабря 2010

Я пытаюсь смоделировать отношения 1: N (человек и адрес), используя соединительную таблицу (Person_Address).

1.Person (personId PK)

2. Адрес (addressId PK)

3.PersonAddress ( personId, addressId составной ПК, personId FK ссылки Person, адрес адрес ФК Адрес )

@Entity 
public class Person {  

@OneToMany   
@JoinTable(
    name="PersonAddress", 
    joinColumns = @JoinColumn( name="personId"),     
    inverseJoinColumns = @JoinColumn( name="addressId")    
)   

public Set<Address> getAddresses() {...}  ... 
} 

Я обнаружил следующую ошибку. Не удалось найти решение.

Причина: org.hibernate.MappingException: Не удалось определить тип для: com.realestate.details.Address, в таблице: Person, для столбцов:

[org.hibernate.mapping.Column (address)] в org.hibernate.mapping.SimpleValue.getType (SimpleValue.java:269) в org.hibernate.mapping.SimpleValue.isValid (SimpleValue.java:253) в org.hibernate.mapping.Property.isValid (Property.java:185) в org.hibernate.mapping.PersistentClass.validate (PersistentClass.java:440) в org.hibernate.mapping.RootClass.validate (RootClass.java:192) в org.hibernate.cfg.Configuration.validate (Configuration.java:1108) в org.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:1293)

1 Ответ

1 голос
/ 24 декабря 2010
  1. Убедитесь, что у вас нет @Column private Address address в вашей Person сущности
  2. Убедитесь, что Address отображается как @javax.persistence.Entity
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...