【问题标题】:@PersistenceUnit does not work in PlayFramework?@PersistenceUnit 在 PlayFramework 中不起作用?
【发布时间】:2011-12-11 15:53:21
【问题描述】:

数据库配置:

db=mysql://root@localhost/db
jpa.dialect=org.hibernate.dialect.MySQLDialect
....
db_other.url=jdbc:mysql://localhost/db2
db_other.driver=com.mysql.jdbc.Driver
db_other.user=root
db_other.pass=
db_other.jpa.dialect=org.hibernate.dialect.MySQLDialect

在这些数据库中,我有绝对精确的表(克隆)。 但不同之处在于这些表中有不同的值。 (分别为“价值#1”和“价值#2”)。

一个简单的模型:

package models;

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.PersistenceUnit;
import javax.persistence.Table;
import play.db.jpa.GenericModel;

@Entity
@PersistenceUnit(name="other")
@Table(name="testtable")
public class DbTest extends GenericModel {
    @Id
    public String value;
}

其余代码:

List<DbTest> lst = DbTest.findAll();
if(!lst.isEmpty())
        System.out.println(lst.get(0).value);

它总是打印 Value #1。 (它必须是 db2 中的“值 #2”)。 当然,我已经指定了@PersistenceUnit(name="other")。 但这没有任何影响。即使我更改 pers.unit 的名称 随机,没有任何错误。 此注释不起作用或只是被忽略? 还是我在某个地方弄错了? :/

附言 另外,我尝试获取框架手册中显示的 EntityManager (/documentation/jpa#multiple)。

EntityManager em = JPA.getJPAConfig("other").em();

但这是不可能的: >

【问题讨论】:

    标签: hibernate jpa playframework persistence-unit


    【解决方案1】:

    Play 1.2.3 不支持多个数据库。支持 多个数据库部分包含在此文档页面中 错误(该功能仅在github上的master分支中)。

    (现在找不到源)

    看例如这里:http://groups.google.com/group/play-framework/browse_thread/thread/4079cc961db8c750?pli=1

    【讨论】:

    • 真的吗?哦。。很可惜。该文档令人困惑,但无论如何谢谢。
    • 顺便说一句!我如何查看文档? /@documentation/ 在 2.0 中不起作用
    • 不确定您的意思。但 2.0 远未正式发布。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 1970-01-01
    • 2012-11-26
    • 2013-03-08
    • 2012-10-29
    相关资源
    最近更新 更多