Tomasz Faszyński

Tomasz Faszyński Specjalista ds.
programowania

Temat: Spring + hibernate - problem z aplikacją

Mam pewien problem.

Gdy startuje mi serwer otrzymuję w logach:
19:25:47,355 ERROR [pool-2-thread-1][MainServlet:347] org.postgresql.util.PSQLException: BŁĄD: relacja "company" nie istnieje
Pozycja: 23
org.postgresql.util.PSQLException: BŁĄD: relacja "company" nie istnieje
Pozycja: 23
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)


W swojej aplikacji mam ustawione, aby hibernate tworzył w bazę w postgresql (drop-create)

Jak próbuję zbudować aplikację to za pierwszym razem otrzymuję:
20:34:29,768 INFO  [DispatcherPortlet:282] FrameworkPortlet 'Model': initialization completed in 9458 ms
20:34:29,768 INFO [DispatcherPortlet:119] Portlet 'Model' configured successfully
20:34:29,794 ERROR [pool-2-thread-19][HotDeployImpl:191] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for Model-portlet
com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for Model-portlet
.....
Caused by: com.liferay.portal.NoSuchRoleException: No Role exists with the key {companyId=0, name=Administrator}
at com.liferay.portal.service.persistence.RolePersistenceImpl.findByC_N(RolePersistenceImpl.java:2879)


Jednak tworzy w bazie wszystkie tabele.

Company:
@Entity(name = "company")
@Table(name = "COMPANY")
public class Company {

@Id
@Column(name="ROW_ID")
private String rowId;

@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn(name = "ROW_ID")
private Party party;


Party:
@Entity(name="party")
@Table(name="PARTY")
public class Party {

@OneToOne(fetch = FetchType.LAZY, mappedBy = "party")
private Company company;


Gdy próbuję drugi raz zbudować aplikację to otrzymuję błąd:
2012-09-18 20:44:33 org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already. Could not load org.springframework.orm.jpa.EntityManagerFactoryUtils. The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1597)
...

20:44:33,559 ERROR [pool-2-thread-2][HotDeployImpl:191] com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for Model-portlet
com.liferay.portal.kernel.deploy.hot.HotDeployException: Error registering portlets for Model-portlet


I tak na zmianę, raz dział w części a raz w ogóle?
Co w ogóle może być przyczyną?
Łukasz D.

Łukasz D. Software Developer,
DevOps Fan

Temat: Spring + hibernate - problem z aplikacją

Ustawiłeś dialect w hibernate?
Maciej Nowicki

Maciej Nowicki Java Developer

Temat: Spring + hibernate - problem z aplikacją

Widzę że to Liferay. Ten kod to jest w portalu czy w oddzielnej aplikacji z portletami? Jak budujesz i deployoujesz portlety jeżeli to oddzielna aplikacja?

Następna dyskusja:

Hibernate, Spring, ManyToMa...




Wyślij zaproszenie do