【发布时间】:2015-04-21 02:46:21
【问题描述】:
我想在 Grails 域类中结合 Cassandra 和 Hibernate 数据源;一些域类必须用 Hibernate 映射,而另一些必须用 Cassandra 映射。
我在域类中使用了 (static mapWith = "cassandra"),但 Cassandra 仍然映射项目中的所有域类。
【问题讨论】:
我想在 Grails 域类中结合 Cassandra 和 Hibernate 数据源;一些域类必须用 Hibernate 映射,而另一些必须用 Cassandra 映射。
我在域类中使用了 (static mapWith = "cassandra"),但 Cassandra 仍然映射项目中的所有域类。
【问题讨论】:
目前这是 Cassandra GORM 实现的一个限制。即使它不会与 Cassandra 一起使用,所有域也需要映射到表。我的意思是添加对仅使用 Cassandra 中尚未完成的某些域的支持。
因此,目前您需要在 Cassandra 和 MySQL 中创建整个架构。
【讨论】:
虽然目前所有域类都会创建一个 Cassandra 表,但静态 mapWith = "cassandra" 只会将域持久化到 Cassandra。
没有任何 mapWith 将导致使用 Hibernate 将域类持久化到数据库中。
请参阅docs 了解更多信息。
如果您根本不希望保留某个类,请将其移至 src/groovy,如该问题的答案Grails Entity without persist 中所述。
【讨论】: