Play Framework 2.x不重新编译orm.xml

时间:2014-09-21 21:56:03

标签: java xml orm playframework-2.0 ebean

我在conf / orm.xml中有以下xml文件

<?xml version="1.0" encoding="UTF-8"?>
    <entity-mappings>
    <entity class="models.RequestKey">
        <table name="requestKey">
        </table>
        <attributes>
            <id name="requestKeyId">
                <column name="requestKeyId" length="255"/>
            </id>
            <basic name="requestId">
                <column name="requestId" length="255"/>
            </basic>
            <basic name="key">
                <column name="key" length="255"/>
            </basic>
        </attributes>
    </entity>
</entity-mappings>

即使xml语法不好,Play框架也没有提取或注册orm XML设置。 Documentation

&#34;请注意,Ebean还将使用conf / orm.xml文件(如果存在)来配置实体映射。&#34;

当我尝试与上述bean进行交互时,我收到以下错误

&#34; [RuntimeException:在类[class models.RequestKey]中找不到@javax.persistence.Id字段]&#34;

具体而言,此代码中会引发错误

public Map<RequestKey, List<RequestValue>> mapToRequestMap(UUID requestId, Map<String, String[]> queryParameters) {
        Map<RequestKey, List<RequestValue>> result = new HashMap<RequestKey, List<RequestValue>>();

        queryParameters.forEach((key, values) ->  {
            RequestKey requestKey = new RequestKey(UUID.randomUUID(), requestId, key);

            List<RequestValue> requestValues = Arrays.stream(values).map(
                value -> new RequestValue(UUID.randomUUID(), requestKey.getRequestKeyId(), value)
            ).collect(Collectors.toList());

            result.put(requestKey, requestValues);
        });

        return result;
    }

调用result.put时

1 个答案:

答案 0 :(得分:0)

将文件orm.xml放在conf / META-INF / orm.xml中。