Обратите внимание, что я использую Grails 2.0.0 Milestone 2.
Я получаю ошибку Hibernate createQuery is not valid without active transaction
, когда я пытаюсь развернуть WAR / развернуть приложение Grails или запустить приложение, используя prod run-app
/ test run-app
. Если я использую просто run-app
, все работает как положено.
Мне интересно, что может отличаться между prod run-app
и war
, что могло бы вызвать мой источник данныхне правильно подключен?
Вот мой DataSource.groovy
файл:
dataSource {
dbCreate = "none"
url = "jdbc:mysql://something/mydb"
pooled = true
dialect = org.hibernate.dialect.MySQLDialect
username = "xxxxxx"
password = "xxxxxxxxx"
driverClassName = "com.mysql.jdbc.Driver"
}
hibernate {
config.location = "classpath:some/hibernate/file.cfg.xml"
}
И у меня есть такой сервис:
package org.dostuff
import org.dostuff.DaoFactory;
import org.springframework.transaction.annotation.Transactional;
class StuffService {
static transactional = true;
@Transactional(readOnly = true)
def getSomething() {
def daoFactory = new DaoFactory();
def stuff = daoFactory.getSomeDao().getSomething();
return stuff;
}
}
Обратите внимание, что я статически впрыскиваю Hibernate SessionFactory
в свой DaoFactory
в файле BootStrap.groovy
.
Что еще я могделать неправильно?Спасибо!