Spring boot Ebean:不是在这个服务器上注册了实体Bean吗?

Spring boot Ebean:不是在这个服务器上注册了实体Bean吗?,spring-boot,ebean,Spring Boot,Ebean,我使用的是spring boot和Ebian,我遵循github的演示,pom是 域: import com.avaje.ebean.Model; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="udp_dmp_crowd") public class Crowd extends Model{ @I

我使用的是spring boot和Ebian,我遵循github的演示,pom是

域:

import com.avaje.ebean.Model;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="udp_dmp_crowd")
public class Crowd extends Model{


    @Id
    Long crowd_id;

    String crowd_name;


    public String getCrowd_name() {
        return crowd_name;
    }

    public void setCrowd_name(String crowd_name) {
        this.crowd_name = crowd_name;
    }

    public Long getCrowd_id() {
        return crowd_id;
    }

    public void setCrowd_id(Long crowd_id) {
        this.crowd_id = crowd_id;
    }

}
服务:

package com.ump.dmp.service;

import com.avaje.ebean.EbeanServer;
import com.ump.dmp.domain.Crowd;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class CrowdService {

    @Autowired
    EbeanServer server;

    public List<Crowd> getCrowd() {
        return server.find(Crowd.class).findList();
    }

}

目前正在将Ebean与spring一起使用

我遇到了一个类似的问题,并成功地解决了它,我唯一要做的就是重建项目

顺便说一句,您需要遵守以下几个步骤才能使用Ebean:

  • 确保在IDE和构建管理器中都启用了适当的Ebean增强插件
  • 确保所有模型都已注释,并扩展基础模型
  • 确保用于创建Ebean服务器的配置知道实体模型的位置,我通过将模型包添加到用于创建Ebean服务器的ServerConfig对象中来实现这一点
关于最后一点,这里是我用来检索和创建Ebean服务器的Utils类:

public class EbeanServerUtils {
    public final static String MODELS_PACKAGE="com.my.package.models";
    /**
     * Create and return an Ebean Server using the configurations contained in the File
     *
     * @param name       The name of the db. This is the name followed by the key datasource in the
     *                   properties file. Ex: datasource.NAME.username=test
     *                   usually the name is db
     * @param setDefault True if this server must be setted as the default server
     * @return
     */
    public static EbeanServer getServer(final String name, File propertiesFile, boolean setDefault) throws IOException {
        Properties properties = new Properties();
        properties.load(new FileInputStream(propertiesFile));
        ServerConfig config = getServerConfig(name,properties,setDefault);
        EbeanServer server = EbeanServerFactory.create(config);
        return server;
    }

    public static EbeanServer getServer(final String name, Properties properties, boolean setDefault) {
        ServerConfig config = getServerConfig(name,properties,setDefault);
        EbeanServer server = EbeanServerFactory.create(config);
        return server;
    }

    private static ServerConfig getServerConfig(final String name, Properties properties, boolean setDefault) {
        ServerConfig config = new ServerConfig();
        config.setName(name);
        config.loadFromProperties(properties);
        if (setDefault) {
            config.setDefaultServer(true);
            config.setRegister(true);
        }
        config.addPackage(MODELS_PACKAGE);
        return config;
    }
}
下面是测试环境的典型配置文件

datasource.default=db
ebean.db.migration.run=false
ebean.migration.run=false
ebean.db.ddl.generate=false
ebean.db.ddl.run=false


datasource.db.username=username
datasource.db.password=myusernamepwd
datasource.db.databaseUrl=jdbc:h2:tcp://testmachine:9092//path/to/test/db;MODE=DB2;INIT=CREATE SCHEMA IF NOT EXISTS TESTSCHEMANAME;
datasource.db.databaseDriver=org.h2.Driver    
希望它能帮助你,
问候语

目前正在将Ebean与spring一起使用

我遇到了一个类似的问题,并成功地解决了它,我唯一要做的就是重建项目

顺便说一句,您需要遵守以下几个步骤才能使用Ebean:

  • 确保在IDE和构建管理器中都启用了适当的Ebean增强插件
  • 确保所有模型都已注释,并扩展基础模型
  • 确保用于创建Ebean服务器的配置知道实体模型的位置,我通过将模型包添加到用于创建Ebean服务器的ServerConfig对象中来实现这一点
关于最后一点,这里是我用来检索和创建Ebean服务器的Utils类:

public class EbeanServerUtils {
    public final static String MODELS_PACKAGE="com.my.package.models";
    /**
     * Create and return an Ebean Server using the configurations contained in the File
     *
     * @param name       The name of the db. This is the name followed by the key datasource in the
     *                   properties file. Ex: datasource.NAME.username=test
     *                   usually the name is db
     * @param setDefault True if this server must be setted as the default server
     * @return
     */
    public static EbeanServer getServer(final String name, File propertiesFile, boolean setDefault) throws IOException {
        Properties properties = new Properties();
        properties.load(new FileInputStream(propertiesFile));
        ServerConfig config = getServerConfig(name,properties,setDefault);
        EbeanServer server = EbeanServerFactory.create(config);
        return server;
    }

    public static EbeanServer getServer(final String name, Properties properties, boolean setDefault) {
        ServerConfig config = getServerConfig(name,properties,setDefault);
        EbeanServer server = EbeanServerFactory.create(config);
        return server;
    }

    private static ServerConfig getServerConfig(final String name, Properties properties, boolean setDefault) {
        ServerConfig config = new ServerConfig();
        config.setName(name);
        config.loadFromProperties(properties);
        if (setDefault) {
            config.setDefaultServer(true);
            config.setRegister(true);
        }
        config.addPackage(MODELS_PACKAGE);
        return config;
    }
}
下面是测试环境的典型配置文件

datasource.default=db
ebean.db.migration.run=false
ebean.migration.run=false
ebean.db.ddl.generate=false
ebean.db.ddl.run=false


datasource.db.username=username
datasource.db.password=myusernamepwd
datasource.db.databaseUrl=jdbc:h2:tcp://testmachine:9092//path/to/test/db;MODE=DB2;INIT=CREATE SCHEMA IF NOT EXISTS TESTSCHEMANAME;
datasource.db.databaseDriver=org.h2.Driver    
希望它能帮助你,
问候

我今天遇到了这个问题,我找到了这个问题的解决方案,您需要通过在
ebean.properties

ebean.search.packages=your.entity.package

详细信息

我今天遇到了这个问题,我找到了这个问题的解决方案,您需要通过在
ebean.properties中添加以下行来指定实体包

ebean.search.packages=your.entity.package

详细信息

在ebeans.properties中添加实体包解决了该问题

ebean.search.packages=com.example.entities

在ebeans.properties中添加实体包解决了此问题

ebean.search.packages=com.example.entities

在这里面对同样的问题。。。如果我能解决这个问题,我会让你知道在这里面对同样的问题。。。如果我能解决它,我会让你知道的