2017-08-24 10 views

回答

0

您可以映射背景下做到这一点。

一旦你有你的数据存储:

datastore.getMappingContext().getPersistentEntities()

每个持久实体具有getJavaClass()方法

0

感谢詹姆斯Kleeh,他的回答解决我的问题。 所以我后我的代码,希望它有助于在春季启动使用GORM其他人。

 ConfigurableApplicationContext configurableApplicationContext = (ConfigurableApplicationContext) applicationContext; 
    configurableApplicationContext.getBeansOfType(Datastore).each{ String key, Datastore datastore -> 
     if(datastore.class==org.grails.orm.hibernate.HibernateDatastore){ 
      println "hibernate datastore domains :" 
      datastore.getMappingContext().persistentEntities.each{entity-> 
       println entity.javaClass.name 
      } 
     } 
     if(datastore.class==org.grails.datastore.gorm.neo4j.Neo4jDatastore){ 
      println "neo4j datastore domains :" 
      datastore.getMappingContext().persistentEntities.each{entity-> 
       println entity.javaClass.name 
      } 
     } 
     if(datastore.class==org.grails.datastore.mapping.cassandra.CassandraDatastore){ 
      println "cassandra datastore domains :" 
      datastore.getMappingContext().persistentEntities.each{entity-> 
       println entity.javaClass.name 
      } 
     } 
     if(datastore.class==org.grails.datastore.mapping.mongo.MongoDatastore){ 
      println "mongodb datastore domains :" 
      datastore.getMappingContext().persistentEntities.each{entity-> 
       println entity.javaClass.name 
      } 
     } 
    }