2017-02-20 25 views
0

Я разрабатываю пользовательский портлет в liferay 7 ga3.Liferay 7: как ссылаться на пользовательский класс от многих до многих в пользовательском портлете

Я использую данные весны jpa в канале данных данных, у меня есть моя собственная база данных и мое собственное соединение, мои собственные сущности аннотируются.

В одном из моего класса сущности я нужен многие ко многие с Liferay в классе User (com.liferay.portal.kernel.model.User),

@ManyToMany 
@JoinTable(name = "authuserservice", joinColumns = @JoinColumn(name = "servicename"), inverseJoinColumns = @JoinColumn(name = "screenName")) 
List<User> users; 

но я получаю ошибку

Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: it.realt.trasparenza.services.services.Service.users[com.liferay.portal.kernel.model.User] 
    at org.hibernate.cfg.annotations.CollectionBinder.bindManyToManySecondPass(CollectionBinder.java:1223) 
    at org.hibernate.cfg.annotations.CollectionBinder.bindStarToManySecondPass(CollectionBinder.java:800) 
    at org.hibernate.cfg.annotations.CollectionBinder$1.secondPass(CollectionBinder.java:725) 
    at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:54) 
    at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1621) 
    at org.hibernate.boot.internal.InFlightMetadataCollectorImpl.processSecondPasses(InFlightMetadataCollectorImpl.java:1589) 

Кто-нибудь знает, как я могу это решить?

заблаговременно

ответ

2

Исключено. Вы используете свою собственную конфигурацию спящего режима вместо использования строителя службы liferay. Это происходит потому, что ваши сущности в спящем режиме не включают сопоставление User.class.

Другими словами, используйте объекты модели конструктора служб для работы в liferay так, как вы хотите, или вы сможете работать только с вашими спящими сущностями.

Вы также можете «взломать» эту проблему, если вы реализуете представление SQL, отображаемое в конфигурации спящего режима, которое указывает на таблицу пользователя, и вы определяете свой объект списка для представления объекта. Но я не рекомендую.

+0

Хорошо, спасибо за объяснение – Andrea