Como acessar lazy child no gsp com multi-tenant?
22/12/2020 11:29
org.hibernate.LazyInitializationException: could not initialize proxy - no Sessio". Alguém sabe como acessar um um filho lazy dentro do gsp utilizando multi-tenant?
??import grails.gorm.MultiTenant;
class Pessoa implements MultiTenant{
String nome
Endereco endereco
static constraints = {
nome(nullable:false);
endereco(nullable:true);
}
static mapping = {
enderecos cascade:"all-delete-orphan"
}
}
import grails.gorm.MultiTenant;
class Endereco implements MultiTenant<Endereco> {
String rua;
Integer numero;
static constraints = {
rua(nullable:false);
numero(nullable:false);
}
}
import grails.validation.ValidationException
import static org.springframework.http.HttpStatus.*
import grails.gorm.multitenancy.*
@CurrentTenant
class PessoaController {
static allowedMethods = [save: "POST", update: "PUT", delete: "DELETE"]
def show(Long id) {
[pessoa: Pessoa.get(id)]
}
}
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main" />
<g:set var="entityName" value="${message(code: 'pessoa.label', default: 'Pessoa')}" />
<title><g:message code="default.show.label" args="[entityName]" /></title>
</head>
<body>
<a href="#show-pessoa" class="skip" tabindex="-1"><g:message code="default.link.skip.label" default="Skip to content…"/></a>
<div class="nav" role="navigation">
<ul>
<li><a class="home" href="${createLink(uri: '/')}"><g:message code="default.home.label"/></a></li>
<li><g:link class="list" action="index"><g:message code="default.list.label" args="[entityName]" /></g:link></li>
<li><g:link class="create" action="create"><g:message code="default.new.label" args="[entityName]" /></g:link></li>
</ul>
</div>
<div id="show-pessoa" class="content scaffold-show" role="main">
<h1><g:message code="default.show.label" args="[entityName]" /></h1>
<g:if test="${flash.message}">
<div class="message" role="status">${flash.message}</div>
</g:if>
<fieldset class="form">
<div class="fieldcontain">
<label for="nome">Nome
</label>
${this.pessoa.nome}
</div>
<div class="fieldcontain">
<label for="nome">Endereco
</label>
${this.pessoa.endereco}
</div>
</fieldset>
<g:form resource="${this.pessoa}" method="DELETE">
<fieldset class="buttons">
<g:link class="edit" action="edit" resource="${this.pessoa}"><g:message code="default.button.edit.label" default="Edit" /></g:link>
<input class="delete" type="submit" value="${message(code: 'default.button.delete.label', default: 'Delete')}" onclick="return confirm('${message(code: 'default.button.delete.confirm.message', default: 'Are you sure?')}');" />
</fieldset>
</g:form>
</div>
</body>
</html>?
Para se registrar, clique aqui.