标签: apache-cayenne

hibernate和cayenne之间的比较

有人请帮助我选择是否使用hibernate或cayenne来比较它们如何处理大型数据库.这是更适合处理大型数据库的.

谢谢

java orm hibernate apache-cayenne

14
推荐指数
2
解决办法
7058
查看次数

卡宴是我的要求的好选择吗?

我们正在为我的项目评估ORM解决方案,该解决方案在业务层和数据层(JDBC)之间具有紧密耦合.我开始用Cayenne做一个PoC.我的要求是这样的a)已经存在数据库模式b)模式是非常精细的级别.即实时java对象仅通过组合表来派生.c)目前我只想执行读取操作(通过输入标准对列表进行精确过滤和排序)

到目前为止,我对Cayenne所做的观察是:1)表和对象是紧密耦合的.Modeler不允许在没有关联表的情况下创建java对象.2)我找不到简单的方法将命名查询的输出映射到java对象,以便以应用程序需要的方式获取列表.3)我也不确定Expressions是否可以使用命名查询.

我想知道您对我的要求的最佳选择吗?

先感谢您.

java orm hibernate apache-cayenne

5
推荐指数
1
解决办法
1266
查看次数

集成范围内的Derby JDBC驱动程序的依赖范围(cayenne)

我正在尝试构建我的pom.xml,以便在运行'mvn install'时自动创建我的数据库模式.我正在使用"maven-cayenne-plugin"来做到这一点.这是插件被调用(在集成测试阶段),因为我可以看到输出.但是mojo失败了,除了:(我用-e和-X标志来看这个).

java.lang.ClassNotFoundException: org.apache.derby.jdbc.ClientDriver
Run Code Online (Sandbox Code Playgroud)

(如果我尝试使用EmbeddedDriver,我会得到相同的内容,无论我是否包含'derbyclient'或简单地'derby'作为我的依赖项).

这是一个应该复制问题的pom.xml.我在Windows上使用MVN 3.[Apache Maven 3.0.4(r1232337; 2012-01-17 08:44:56 + 0000)]

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>myproject</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.cayenne.plugins</groupId>
                <artifactId>maven-cayenne-modeler-plugin</artifactId>
                <version>3.2M1</version>
            </plugin>
            <plugin>
                <groupId>org.apache.cayenne.plugins</groupId>
                <artifactId>maven-cayenne-plugin</artifactId>
                <version>3.2M1</version>
                <executions>
                    <execution>
                        <id>cgen</id>
                        <configuration>
                            <superPkg>com.mycompany.model.generated</superPkg>
                            <map>${project.build.sourceDirectory}/../resources/datamap.map.xml</map>
                            <destDir>${project.build.sourceDirectory}</destDir>
                        </configuration>
                        <goals>
                            <goal>cgen</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>cdbgen</id>
                        <configuration>
                            <map>${project.build.sourceDirectory}/../resources/datamap.map.xml</map>
                            <driver>org.apache.derby.jdbc.ClientDriver</driver>
                            <url>jdbc:derby:memory:tracedb;create=true</url>
                            <username>test</username>
                        </configuration>
                        <goals>
                            <goal>cdbgen</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>
    <dependencies>
<dependency>
            <groupId>org.apache.derby</groupId>
            <artifactId>derbyclient</artifactId>
            <version>10.10.1.1</version>
            <scope>compile</scope>
        </dependency>

    </dependencies>
</project>
Run Code Online (Sandbox Code Playgroud)

这还需要一个有效的cayenne"datamap.map.xml"文件(在src/main/resources中),这是我之前做的一个:

<?xml version="1.0" encoding="utf-8"?>
<data-map xmlns="http://cayenne.apache.org/schema/3.0/modelMap"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://cayenne.apache.org/schema/3.0/modelMap http://cayenne.apache.org/schema/3.0/modelMap.xsd" …
Run Code Online (Sandbox Code Playgroud)

derby maven apache-cayenne

5
推荐指数
1
解决办法
9877
查看次数

如何将驱动程序添加到CayenneModeler识别的列表中?

我是Apache Cayenne的新手,我正在尝试我的第一个项目.我正在尝试使用CayenneModeler 的工具>重新设计数据库架构功能来反向设计SQL Server数据库.

我试图创建一个新的"已保存的数据源".我从其适配器列表中选择了"org.apache.cayenne.dba.sqlserver.SQLServerAdapter",并且CayenneModeler自动填写了JDBC Driver字段并添加了一个示例DB URL.我修改了DB URL,提供了用户名/密码,单击"继续",然后我收到以下错误:

驱动程序加载错误:com.microsoft.sqlserver.jdbc.SQLServerDriver

我认为这意味着CayenneModeler默认情况下确实有sqlserver的驱动程序(?)但我没有看到将CayenneModeler指向任何其他驱动程序的方法......

任何Cayenne专家知道我可能做错了什么?有没有办法给CayenneModeler提供所需的驱动程序,假设这是问题?或者如果失踪的司机不是问题,有谁知道是什么?

sql-server apache-cayenne

1
推荐指数
1
解决办法
408
查看次数

当我尝试在网站上进行查询时出现“查询数据包太大”错误

我再次需要你的帮助。我正在尝试将我的 java 网站上线。

我用什么:

  • MySQL 服务器:命令行 mysql -V,结果:mysql Ver 15.1 Distrib 10.1.23-MariaDB,对于 debian-linux-gnu (x86_64) 使用 readline 5.2
  • 辣椒
  • Debian服务器
  • 爪哇(瓦丁)

用于查询的数据包太大 (4739923 > 1048576)。您可以通过设置 max_allowed_pa​​cket' 变量在服务器上更改此值。

我尝试过的:

1.就像错误所说的那样,我尝试通过执行以下操作来更改服务器上的值:

  • 登录我的服务器
  • 使用以下命令连接到 MySQL:mysql -u root
  • 进入 :SET GLOBAL max_allowed_packet=1073741824;
  • 然后,使用以下命令重新启动服务器:/etc/init.d/mysql restart

但我仍然有错误。

2.我查看了:如何更改 max_allowed_pa​​cket 大小

但是,当我执行此操作时nano /etc/mysql/my.cnf,文件看起来像(我没有任何 [mysql]):

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Nov 10 23:57:02 2017 from 82.236.220.195
root@XXXX:~# …
Run Code Online (Sandbox Code Playgroud)

mariadb apache-cayenne java-8 max-allowed-packet

1
推荐指数
1
解决办法
2万
查看次数