Grails - Hibernate XML - Динамические методы - PullRequest
1 голос
/ 28 июня 2011

У меня есть проект Grails, использующий Hibernate XML.Все файлы Hibernate находятся в файле conf / hibernate / [DomainName] .hbm.xml, а соответствующие исходные файлы домена находятся в файле src / groovy / [DomainName] .groovy. Я получаю:

Нет подписиМетод: static com.x.domain.Role.findByAuthority () применим для типов аргументов: (java.lang.String)

Похоже, что динамические искатели не в классе, хотя яне понимаю, почему нет.Есть предложения?

Пример XML:

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="com.x.domain" default-lazy="false">

    <class name="Role" table="x_roles" lazy="true">
        <cache usage="read-write"/>
        <comment>Role</comment>

        <id name="id" type="long">
            <generator class="native">
            </generator>
        </id>

        <property name="description"/>
        <property name="authority"/>

        <set name="users" table="x_user_roles" lazy="false">
            <cache usage="read-write"/>            
            <comment>User - Roles Associations</comment>
            <key column="role_id"/>
            <many-to-many column="user_id" class="com.x.domain.User"/>
        </set>
    </class>


</hibernate-mapping>

Пример домена:

package com.x.domain

/**
 * Role class for Authority.
 */
class Role {

    public static String ROLE_USER = "ROLE_USER"
    public static String ROLE_ADMIN = "ROLE_ADMIN"

    String description
    String authority = 'ROLE_'

    Set<User> users = new HashSet<User>();

    public Role() {
    }

    public Role(String description, String authority) {
        this.description = description
        this.authority = this.authority + authority
    }


    static constraints = {
        authority(blank: false)
        description()
    }
}

1 Ответ

0 голосов
/ 30 июня 2011

Я не уверен, как объяснить проблему, но откат к более раннему коду устранил проблему.

...