gpt4 book ai didi

java - 如何在 Play Framework 中设置 2 个 MySQL 数据库?

转载 作者:行者123 更新时间:2023-11-30 23:15:47 24 4
gpt4 key购买 nike

我需要设置 2 个独立的数据库。一个用于类Test,另一个用于类TestTwo,但我不知道如何配置application.conf 文件。

application.conf(第 1 部分):

db.default.driver=com.mysql.jdbc.Driver 
db.default.url="jdbc:mysql://localhost/dbone?characterEncoding=UTF-8"

db.dbtwo.driver=com.mysql.jdbc.Driver
db.dbtwo.url="jdbc:mysql://localhost/dbtwo?characterEncoding=UTF-8"


尝试 1 失败:两个类都保存到数据库 1 (dbone):
application.conf(第 2 部分):

ebean.default="*"
ebean.dbtwo="models.TestTwo"


失败尝试 2:我在尝试保存内容时遇到错误:

[PersistenceException: The type [class models.TestTwo] is not a registered entity? If you don't explicitly list the entity classes to use Ebean will search for them in the classpath. If the entity is in a Jar check the ebean.search.jars property in ebean.properties file or check ServerConfig.addJar().]

application.conf(第 2 部分):

ebean.default="models.Test"
ebean.dbtwo="models.TestTwo"


我如何设置才能将 Test 对象保存到 dbone 并将 TestTwo 对象保存到 dbtwo?


编辑:请求的 TestTwo 类(没什么特别的;除了在 application.conf 文件中,我没有手动分配 Ebean 服务器):

package models;
import javax.persistence.*;
import play.db.ebean.*;
import play.data.validation.Constraints.Required;

@Entity
public class TestTwo extends Model{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Long id;

@Required
public String testString;

public static Model.Finder<Long, TestTwo> find = new Model.Finder<Long, TestTwo>(Long.class, TestTwo.class);

public static TestTwo create (String testString){
TestTwo test = new TestTwo();
test.testString = testString;
test.save();
return test;
}
}

最佳答案

进化脚本是你写的吗?如果不是,您需要在 conf>evolutions>default>1.sql

中编写一个

创建表“testtwo”:

create table testtwo(
id bigint auto_increment not null,
testString varchar(100) not null,
constraint t1_testTwo primary key(id)
);

进一步:

SET FOREIGN_KEY_CHECKS=0;

drop table if exists testto;

SET FOREIGN_KEY_CHECKS=1;

当您刷新浏览器时,play 会要求“应用进化”,这会在您的数据库中创建“testtwo”表,您可以在其中保存实体。

关于java - 如何在 Play Framework 中设置 2 个 MySQL 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17924528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com