Hibernate 4中的nullSafeGet(nullSafeGet in Hibernate 4)
我正在将Hibernate 3升级到Hibernate 4.1。 运行应用程序时,我得到以下异常:
java.lang.AbstractMethodError at org.hibernate.type.CustomType.nullSafeGet(CustomType.java:124) at org.hibernate.type.AbstractType.hydrate(AbstractType.java:106) at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2701) at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1541) at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1473) at org.hibernate.loader.Loader.getRow(Loader.java:1373) at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:640) at org.hibernate.loader.Loader.doQuery(Loader.java:850) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) at org.hibernate.loader.Loader.loadEntity(Loader.java:2042) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72) at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3710) at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:439) at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:420) at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204) at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:251) at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148) at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:992) at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:919) at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:610) at org.hibernate.type.EntityType.resolve(EntityType.java:438) at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:150) at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:995) at org.hibernate.loader.Loader.doQuery(Loader.java:874) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289) at org.hibernate.loader.Loader.doList(Loader.java:2447) at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2292) at org.hibernate.loader.Loader.list(Loader.java:2255) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:196) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1161) at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101) at my.com.MyDAOImpl.findDocuments(MyDaoImpl.java:22)......
我理解Hibernate4在
nullSafeGet()
和nullSafeSet()
更改了参数。 因此,我必须使用新参数覆盖这些方法,并在自定义类型实现中忽略SessionImplementor。
findDocuments()
基本上是从Documents表中查询文档,Document.hmb.xml的所有字段都没有自定义类型。 我的难题是调用CustomType.nullSafeGet()
原因? 在Document.hmb.xml中,只有一个嫌疑人,但我不确定此刻,因为我将类型更改为“Blob”并得到相同的错误。<property name="image" column="PICTURE" type="org.springframework.orm.hibernate3.support.BlobByteArrayType"/>
你能帮忙吗?
I am upgrading Hibernate 3 to Hibernate 4.1. When running the application, I got below exception:
java.lang.AbstractMethodError at org.hibernate.type.CustomType.nullSafeGet(CustomType.java:124) at org.hibernate.type.AbstractType.hydrate(AbstractType.java:106) at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2701) at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1541) at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1473) at org.hibernate.loader.Loader.getRow(Loader.java:1373) at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:640) at org.hibernate.loader.Loader.doQuery(Loader.java:850) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259) at org.hibernate.loader.Loader.loadEntity(Loader.java:2042) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:82) at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:72) at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3710) at org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:439) at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:420) at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:204) at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:251) at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:148) at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:992) at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:919) at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:610) at org.hibernate.type.EntityType.resolve(EntityType.java:438) at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:150) at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:995) at org.hibernate.loader.Loader.doQuery(Loader.java:874) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289) at org.hibernate.loader.Loader.doList(Loader.java:2447) at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2292) at org.hibernate.loader.Loader.list(Loader.java:2255) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:196) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1161) at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101) at my.com.MyDAOImpl.findDocuments(MyDaoImpl.java:22)......
I understand Hibernate4 changed parameters in
nullSafeGet()
andnullSafeSet()
. So I have to override these methods using new parameters and ignored SessionImplementor in customized type implemetation anyway.
findDocuments()
basically query documents from Documents table, none of the fields ofDocument.hmb.xml
has customized type. My puzzle is whyCustomType.nullSafeGet()
is called? In Document.hmb.xml, there is only one suspect but I am not sure at the moment as after I changed the type to "Blob" and got same error.<property name="image" column="PICTURE" type="org.springframework.orm.hibernate3.support.BlobByteArrayType"/>
Can you please help?
原文:https://stackoverflow.com/questions/21825968
最满意答案
答案是:
excel.Range.DisplayFormat.Interior.Color
获取excel.range的好方法是选择单元格并获得范围
excel.Range test =(excel.Range)Globals.ThisAddIn.Application.Selection; test.DisplayFormat.Interior.Color
Answer is :
excel.Range.DisplayFormat.Interior.Color
good way to take excel.range is select cells and get range
excel.Range test = (excel.Range)Globals.ThisAddIn.Application.Selection; test.DisplayFormat.Interior.Color
相关问答
更多-
答案是: excel.Range.DisplayFormat.Interior.Color 获取excel.range的好方法是选择单元格并获得范围 excel.Range test =(excel.Range)Globals.ThisAddIn.Application.Selection; test.DisplayFormat.Interior.Color Answer is : excel.Range.DisplayFormat.Interior.Color good way to take excel ...
-
文字: [RangeObject].Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); 对于细胞背景 [RangeObject].Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red); For text: [RangeObject].Font.Color = System.Drawing.Color ...
-
如何在C#中搜索单元格(边框)颜色的excel范围?(How to search an excel range on cell's (border) colour in C#?)[2022-10-30]
@Denise我怀疑你可以在interop上使用任何Find方法来检查单元格样式。 如果你已经限制了范围并且逐个进行逐个单元格,我唯一的建议就是使用EPPlus 。 当我们意识到速度增加了十倍以上时,我们进行了转换,对于至少有30,000行的纸张,加上你可以使用LINQ并且没有杂乱的互操作。 使用EPPlus你只需要做类似的事情: //looking for cells with a yellow border on its left side IEnumerablemat ... -
您的代码非常冗长,而且大多数代码与您的问题无关。 最好将相关问题提取为通用代码示例,以便其他人可以将代码复制到他们的机器中,然后尝试对其进行调试。 主要问题是您没有在任何地方为一系列单元格指定颜色,除非最初指定范围B4:O4。 因此,每次遇到阶段6时,都会为相同的范围分配颜色,但不会分配您要填充的行。 您可以尝试一些这方面的变化(虽然它有点笨重,可能不符合您要查找的确切范围): List
powerPlantList = new List { ... -
如果您想根据公式执行此操作,则必须编写一些VBA。 看这个例子 If you want to do this based on a formula, you will have to write some VBA. See this example
-
Excel:获取单元格颜色(Excel: Get cell color)[2023-08-15]
你应该使用一个函数: Function BGCol(MRow As Integer, MCol As Integer) As Integer BGCol = Cells(MRow, MCol).Interior.ColorIndex End Function You should use a Function: Function BGCol(MRow As Integer, MCol As Integer) As Integer BGCol = Cells(MRow, MCol).In ... -
单元格颜色更改在Excel中使用C#中的条件格式设置(Cell color change In Excel Using Conditional formatting in C#)[2022-08-29]
单击单元格,然后从菜单中选择“条件格式”。 然后选择“等于细胞的规则”之类的东西。 填写“猫”应该等于并选择您的格式。 请查看: http : //www.contextures.com/xlcondformat03.html Click the cell and select "Conditional formatting" from the menu. Then select something like "rules for cells that equals". Fill in "Cat" as w ... -
如何找到与当前单元格C#+ Excel相邻的单元格的值(How to find the value of a cell adjacent to the current cell C# + Excel)[2022-08-04]
我认为偏移功能正是您所寻找的。 在您的代码上,您可以添加一行: firstFind.Offset[0, 1]; “0”表示您将当前行“1”作为目标,表示您要从excel范围中定位右侧的第1列 i think the offset function is what you are looking for. On your code, you could add a line that goes: firstFind.Offset[0, 1]; "0" to signify that you targe ... -
您可以遍历工作表的单元格并调查内容。 我认为没有一种更简单的方法。 You can iterate through the cells of the sheet and investigate the contents. I don't think there is an easier method.
-
打印单元格颜色的Excel公式(ColorIndex或RGB)(Excel formula that prints cell color (ColorIndex or RGB))[2023-05-11]
这里有一些小功能。 从工作表中,按Alt - F11进入VBA编辑器,插入新模块,粘贴以下代码,返回工作表并按名称使用它们,例如in =FillColor(A1) 前两个是承诺的“3-liners”给出字体和背景颜色的十进制值 - 虽然不是很有用 第二对将十进制数转换为RGB并返回格式为N,N,N的字符串 第三对是数组公式 - 连续选择3个单元格,输入公式并按Ctrl + Shift + Enter以获取3个相邻单元格中的数值RGB值 Function FillColor(Target As Range) ...