JPA/Spring 是否有可能在运行时创建/删除具有自定义名称和相应表(由 @Entity 注释给出)的数据库模式,例如当用户按下按钮时?
我只知道关于javax.persistence.schema-generation
属性,它们在我的应用程序启动时执行并使用预定义的架构名称。
我正在寻找的一个简短(且简化)的示例:
假设我有两个实体,Dog
and Cat
。当用户按下按钮时,一个新的模式animals1
有两张桌子Dog
and Cat
被建造。所有查询现在都转到架构animals1
。当用户第二次按下按钮时,会出现不同的模式animals2
创建了两个表,所有查询现在都转到animals2
.
我想我可以在 Spring 中施展一些魔法,但我不知道从哪里开始。如果有任何提示,我将不胜感激。
JPA中有一个“generateSchema”的API:
http://docs.oracle.com/javaee/7/api/javax/persistence/Persistence.html#generateSchema-java.lang.String-java.util.Map- http://docs.oracle.com/javaee/7/api/javax/persistence/Persistence.html#generateSchema-java.lang.String-java.util.Map-
检查此博客条目https://antoniogoncalves.org/2014/12/11/generate-database-schemas-with-jpa-2-1/ https://antoniogoncalves.org/2014/12/11/generating-database-schemas-with-jpa-2-1/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)