【发布时间】:2014-08-23 12:09:52
【问题描述】:
我试图在groovy domain class 中的关系Java Class 中延迟加载,当我使用lazy: false 时它可以工作,但是当我标记lazy:true 时它没有获得表数据。
我正在使用以下代码:-
域类:-
产品领域类:-
class Products {
static mapping = {
version false
id name: 'productId', generator:'assigned'
}
String productId
String reference
String code
String codetype
}
股票域类:-
class Stock {
static mapping = {
version false
id name: 'stockId', generator:'assigned'
product column:"product",lazy:true
}
String stockId
Products product
static belongsTo = [product: Products]
}
服务类:-
@Transactional
class StockService {
public List<Stock> getStockList() {
def stock = Stock.list()
return stock
}
}
获取 Stock 数据和 Product Data 的 Java 类:-
StockService stockService = Grails.get(StocktService.class);
List<Stock> stock = stockService.getStockList();
Products product = stock.get(0).getProduct();
但是产品对象显示null。它应该是产品数据。上面的代码有什么问题吗?
【问题讨论】:
标签: java hibernate grails groovy grails-orm