关闭MagicalRecord注销需要在项目首次包含之前进行#define,但是对于由Cocoapods管理的项目,我无权在Pods项目中添加#define.在这种情况下如何完全关闭注销?
花了几个小时找出办法,在这里张贴,希望它能帮助别人.
编辑:这不是重复,因为它讨论了在Cocoapods下关闭日志
我在Spring中有一个复杂的,自定义配置的Hibernate设置(包括JPA实体,会话工厂和数据源定义),我想在Grails 2.1.0中使用它.正因为如此,我想给的Grails的参考sessionFactory
和dataSource
我已经有了.所以,我不想(事实上,不能)使用hibernate.cfg.xml
它所放置的conf/
- 我也不想使用DataSource.groovy
,因为所有复杂的配置已经由我们已经测试和工作的代码处理,并且都是基于Spring的.
所以,我已经设法让我的自定义Spring配置加载grails run-app
(通过importBeans()
in resources.groovy
.)在日志中,我可以看到数据库连接,Spring配置和Hibernate启动就好了,所以在运行时将创建bean sessionFactory
和dataSource
.现在,我如何配置Grails使用它们而不是尝试创建自己的?
理想情况下,像dataSource = ref('myDataSource')
某个地方的东西会很棒 - 和相同sessionFactory = ref('sessionFactory')
或相似.我见过有些人把它放在resources.groovy中,但它只是不起作用.
我也见过这个:
eventDao(com.JavaClassRequiringDataSource) { dataSource = ref('dataSource') }
Run Code Online (Sandbox Code Playgroud)
但它也不起作用(不确定它是否曾经.)
任何帮助将非常感激...我花了最后10个小时试图让这个工作无济于事.我不介意我丢失一些Grails功能,只要它有效.目前的目标是让GORM看到我们已经拥有的(~200个)实体并做一些脚手架:)
我也知道Grails没有看到这些实体,因为我在BootStrap.groovy中添加了以下内容:
// ...
def grailsApplication
def init = { servletContext ->
println grailsApplication.domainClasses
}
// ...
Run Code Online (Sandbox Code Playgroud)
它打印[].
如果需要补丁,请告诉我从哪里开始,我会看看......我只想让这个工作.
谢谢!
更新1:
我已经尝试过resources.groovy文件的几个咒语,目前它看起来像这样:
beans = {
importBeans('main-spring-file-for-the-rest.xml')
dataSource = ref('dataSource')
}
Run Code Online (Sandbox Code Playgroud)
但是当我试图用脚手架时,我仍然得到: …
cocoapods ×1
grails ×1
grails-2.0 ×1
grails-orm ×1
groovy ×1
ios ×1
objective-c ×1
spring ×1
xcode ×1