Как создать ElementCollection типа Embeddable?

Я использую Hibernate 3.5.6 в качестве моей реализации JPA 2.0. Я пытаюсь создать @ElementCollection внутри своей сущности (многие поля опущены):

@Entity
public class Buyer implements Serializable {
    ...
    @ElementCollection
    private List<ContactDetails> contacts;
    ...
}

Я довольно легко выполнил эту работу, когда коллекция содержит базовый тип, но мои ContactDetails - это класс @Embeddable :

@Embeddable
public class ContactDetails implements Serializable {
    ...
    @Column(nullable = false)
    private String streetOne;
    ....
}

Когда я запускаю, пусть Hibernate сгенерирует DDL, я получаю такие ошибки:

INFO  - Environment                - Hibernate 3.5.6-Final
....
INFO  - Version                    - Hibernate EntityManager 3.5.6-Final
....
INFO  - SettingsFactory            - RDBMS: PostgreSQL, version: 8.4.2
INFO  - SettingsFactory            - JDBC driver: PostgreSQL Native Driver, version: PostgreSQL 9.0 JDBC4 (build 801)
INFO  - Dialect                    - Using dialect: org.hibernate.dialect.PostgreSQLDialect
....
ERROR - SchemaUpdate               - Unsuccessful: create table Buyer_contacts (Buyer_id int8 not null, contacts_collection&&element_county varchar(255), contacts_collection&&element_email varchar(255), contacts_collection&&element_fax varchar(255), contacts_collection&&element_mainphone varchar(255) not null, contacts_collection&&element_mobile varchar(255), contacts_collection&&element_name varchar(255) not null, contacts_collection&&element_postcode varchar(255) not null, contacts_collection&&element_streetone varchar(255) not null, contacts_collection&&element_streettwo varchar(255), contacts_collection&&element_town varchar(255) not null)
ERROR - SchemaUpdate               - ERROR: syntax error at or near "&&"  Position: 73

Есть ли способ убедить Hibernate генерировать допустимые имена столбцов в таблице для класса коллекции? В идеале, способ, который не нарушает принцип Не повторяйся путем указания имени каждого отдельного столбца.

10
задан Adrian Cox 11 March 2011 в 14:42
поделиться