gpt4 book ai didi

ebean - Ebean 如何检查模型是否已增强?

转载 作者:行者123 更新时间:2023-12-02 02:16:42 26 4
gpt4 key购买 nike

我定义了一个没有字段的基本模型,并通过 Ebean 的 eclipse 插件对其进行了增强。然后我用java反编译器反编译,发现ebean给它添加了一些字段和方法:

private static String _EBEAN_MARKER = "play.modules.ebean.Model";

protected EntityBeanIntercept _ebean_intercept = new EntityBeanIntercept(this);

protected transient Object _ebean_identity;

public String _ebean_getMarker() {
return _EBEAN_MARKER;
}

public EntityBeanIntercept _ebean_getIntercept() {
return this._ebean_intercept;
}

public EntityBeanIntercept _ebean_intercept() {
if (this._ebean_intercept == null)
this._ebean_intercept = new EntityBeanIntercept(this);
return this._ebean_intercept;
}

public void addPropertyChangeListener(PropertyChangeListener listener) {
this._ebean_intercept.addPropertyChangeListener(listener);
}

public void addPropertyChangeListener(String name, PropertyChangeListener listener) {
this._ebean_intercept.addPropertyChangeListener(name, listener);
}

public void removePropertyChangeListener(PropertyChangeListener listener) {
this._ebean_intercept.removePropertyChangeListener(listener);
}

public void removePropertyChangeListener(String name, PropertyChangeListener listener) {
this._ebean_intercept.removePropertyChangeListener(name, listener);
}

public void _ebean_setEmbeddedLoaded() {}

public boolean _ebean_isEmbeddedNewOrDirty() {
return false;
}

public Object _ebean_newInstance() {
return new Model();
}

然后我把这些代码复制到原来的Model类中,禁用了Ebean的enhancer,用eclipse编译。

我觉得应该和Ebean增强一样的效果。

然后我把它打包成一个jar,放到我的项目中,定义了一个模型类Article来扩展它。

但是有一个错误:

An unexpected error occured caused by exception PersistenceException:
java.lang.IllegalStateException: Class [class test.Model] is not enhanced
and [class models.Article] is - (you can not mix!!)

Ebean 似乎没有将我的新 Model 类视为增强类。我想知道 Ebean 如何检查一个类是否已被它增强?

最佳答案

Ebean 也为您的 models.Article 类添加了增强功能 - 基本上针对每个属性/getter/setter。

再次创建此层次结构(不向模型添加内容)并检查两个对象的结果代码。

关于ebean - Ebean 如何检查模型是否已增强?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10204436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com