jpa-2.2 相关问题


生成的 .NET Core 2.2 exe 在不同的端口上启动

我想为我的 .NET Core 2.2 应用程序生成一个 .exe 并在某个端口(假设为 5432)上启动它。我将 win-x64 添加到我的 .csproj 以生成...


Doctrine 2.2+ 想要重新创建我的所有表,因为它试图使用错误的 postgres 架构

我在 symfony 2.0 项目上将原则从 2.1 更新到 2.2。 但现在每次我尝试执行 php app/console 学说:schema:update 学说都想重新创建我的所有架构,并且我有以下内容...


Doctrine 2.2+ 想要重新创建我的所有表,因为它试图使用错误的 postgres 架构

我在 symfony 2.0 项目上将原则从 2.1 更新到 2.2。 但现在每次我尝试执行 php app/console 学说:schema:update 学说都想重新创建我的所有架构,并且我有以下内容...


JPA @Entity 注解的确切含义是什么?

我正在研究Spring应用程序中的JPA,我对@Entity注释有一些疑问。 所以我有一个像这样的模型类: @实体 @Table(名称=“T_CUSTOMER”) 公共类客户{ ...


JPA 继承:子类关系取决于超类字段

我有 3 个具有连接继承的 JPA 实体(1 个超类和 2 个子类),并且根据超类字段,子类之间存在一对一的关系。 申报有问题


使用 Hibernate - Oracle DB 在 Spring Boot 2.3.5 版本中设置 JPA 方法的超时

我正在使用 Spring Boot 2.3.5 版本和 Oracle 12c DB,并使用 Spring Boot 数据 jpa/hibernate 执行数据库操作。 有时数据库操作需要更多时间,我需要设置时间...


JPA 映射(OneToMany、ManyToOne)

销售类 @实体 @Table(名称=“销售”) @AllArgsConstructor @NoArgs构造函数 @FieldDefaults(级别 = AccessLevel.PRIVATE) @数据 公开课促销{ @ID @GenerateValue(策略 =


如何将自定义用户类型作为参数传递给 Spring Data JPA 查询方法?

我有一个 Spring data JPA 存储库,它由 postgresql 数据库支持。作为查询的一部分,我想在查询中使用间隔。我设法通过创建一个 SQLFunction 来实现它...


地图<String, Repository>意外行为

我正在尝试定义一个Map来映射多个JPA存储库。这是我的代码 @服务 @AllArgsConstructor 公共类 MyDataTablesService { 私人决赛


错误:创建类路径资源中定义的名称为“entityManagerFactory”的bean

org.springframework.beans.factory.BeanCreationException:创建类路径资源中定义的名为“entityManagerFactory”的bean时出错[org/springframework/boot/autoconfigure/orm/jpa/


ListResultsConsumer:发现重复行并指定了“ASSERT”

JDK 17 JPA 3.1 休眠 6.2 将 spring boot 2.x 升级到 3.x(涉及从 hibernate 5.x 升级到 6.x)后,我收到此错误: org.springframework.orm.jpa.JpaSystemException:重复...


当其中一个字段没有值时,JPA 查询不返回结果

我有以下界面 公共接口SchemeInterface { 公共长getId(); 公共字符串 getVibName(); 公共字符串 getTerritoryName(); 公共字符串


Spring JPA:如何禁用某些方法的查询创建

我有一个自定义存储库,声明如下(用 Kotlin 编写): 接口 FooRepository : JpaRepository { 有趣的 findByFoo(foo: String): 列表 有趣的 findByBar(酒吧: ...


获取对象字段先前值hibernate JPA

假设我有这门课: @EntityListeners({MyListener.class}) 类我的类{ 字符串名称; 字符串姓氏; 公共字符串 getName() { 返回名称; } 公共无效集名称(字符串


Hibernate JPA,复合键和常量值的一对一关系

我正在尝试实现有限类型的对象级 ACL,它引导我尝试使用具有常量和动态 v 的复合键创建 @OneToOne 关系...


Springboot 3 ManytoMany 请求有效负载正确序列化

我正在使用 Spring Boot 3、Java 21 Restful API 和带有 mysql 的 JPA,但在接收请求时遇到问题。 我正在处理与模型 User 和 Invoi 的多对多关系...


无法将原生查询结果转换为DTO投影

无法使用jpa存储库中的本机查询实现DTO投影。对于单个字段,它有效,但不适用于多个字段。 需要用一些复杂的原生来实现此类投影


在JPA中保持多对多关系排序

假设您在创建指标时在用户选择的预定义国家/地区列表中有一个可用的指标对象。国家/地区列表以特定方式排序(不是按字母顺序或任何


无法使用UUID和springboot jpa从MySQL检索记录

我使用 uuid 作为 MySQL 数据库的 id。但是当我尝试使用 id 检索时,它返回 null 而不是正确的对象。我使用工作台交叉检查数据库,记录在那里,但它......


使用 TIMESTAMPDIFF 和 JPA 标准查询并使用 hibernate 作为提供者

我有一个数据表,其中包含设置和释放列,两者都保存时间戳。我的目标是使用 CriteriaQuery 创建与下面的 SQL 查询等效的查询。 SQL 查询:SELECT TIMESTAMPDIFF(SEC...


如何防止 Hibernate 6 通过 Criteria API 在 LIKE 查询中自动转义反斜杠?

我正在将 Spring Boot 2.7 应用程序迁移到 3.0,这会将 Hibernate 从 5.6 升级到 6.1,并且我在创建 SElECT ... LIKE 查询时遇到了 JPA 的 Criteria API 的问题。 鉴于以下...


在 .NET 6 中使用 xsltc.exe 生成的程序集(XSLT 样式表)

我有一个 XSLT 样式表“Stylesheet.xsl”,我已使用 xsltc.exe 将其编译为“Stylesheet.dll” 该 DLL 包含在我的 .NET 6 中(net6.0 我有一个 XSLT 样式表“Stylesheet.xsl”,我已使用 xsltc.exe 将其编译为“Stylesheet.dll” 该 DLL 包含在我的 .NET 6 (<TargetFramework>net6.0</TargetFramework>) 项目中,用法如下: var xslCompiledTransform = new XslCompiledTransform(); xslCompiledTransform.Load(typeof(Stylesheet)); // ↑ System.IO.FileNotFoundException: Could not load file or assembly 'System.Data.SqlXml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. The system cannot find the file specified. xslCompiledTransform.Transform(@"..\..\..\input.xml", @"..\..\..\output.xml"); Load方法抛出FileNotFoundException,并显示消息“无法加载文件或程序集‘System.Data.SqlXml,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089’。系统找不到指定的文件。 ” 关于 xsltc.exe 的文档说明了以下内容: 脚本块仅在 .NET Framework 中受支持。 .NET Core 或 .NET 5 或更高版本不支持它们。 这严重暗示使用 xsltc.exe 编译的样式表应该在 .NET Core 或 .NET 5 或更高版本上工作(当不使用脚本块时),但在我的测试中却不起作用。 有谁知道为什么使用 xsltc.exe 编译的样式表不适用于 .NET 6 以及如何解决此问题? 更多详情 我在下面添加了有关我尝试过的更多详细信息。 请注意,我使用的样式表Stylesheet.xsl非常基本,没有使用特殊功能:<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output indent="yes"/> <xsl:template match="/"> <output> <xsl:for-each select="input/book"> <booktitle> <xsl:value-of select="@title" /> </booktitle> </xsl:for-each> </output> </xsl:template> </xsl:stylesheet> 生成DLL的命令: "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\xsltc.exe" Stylesheet.xsl 在 SDK 样式的 .csproj 文件中引用 DLL: <ItemGroup> <Reference Include="Stylesheet"> <HintPath>.\Stylesheet.dll</HintPath> </Reference> </ItemGroup> input.xml:<input> <book title="First Title" /> <book title="Second Title" /> </input> output.xml 使用未编译的样式表执行转换时:<output> <booktitle>First Title</booktitle> <booktitle>Second Title</booktitle> </output> 我已经研究并发现其他人也有同样的问题,但还没有找到解决方案或解释为什么 Microsoft 文档隐式声明它应该可以工作,而在我的测试中却不起作用。 https://github.com/dotnet/runtime/issues/68129 在.NET Core 2.2中使用xsltc.exe生成的程序集? XslCompiledTransform.Load(type):无法加载文件或程序集“System.Data.SqlXml” System.IO.FileNotFoundException的堆栈跟踪: at System.Delegate.BindToMethodInfo(Object target, IRuntimeMethodInfo method, RuntimeType methodType, DelegateBindingFlags flags) at System.Reflection.RuntimeMethodInfo.CreateDelegateInternal(Type delegateType, Object firstArgument, DelegateBindingFlags bindingFlags) at System.Reflection.RuntimeMethodInfo.CreateDelegate(Type delegateType) at System.Xml.Xsl.XslCompiledTransform.Load(MethodInfo executeMethod, Byte[] queryData, Type[] earlyBoundTypes) at System.Xml.Xsl.XslCompiledTransform.Load(Type compiledStylesheet) at TestXslDotnet6.Program.Main(String[] args) in C:\Users\UserNameRedacted\Path\To\Repo\TestXslDotnet6\TestXslDotnet6\Program.cs:line 10 根据 GitHub 问题 .NET 6 不支持 XslCompiledTransform.Load(type(myXsltCompiled_dll)) 中的信息,看起来好像不支持,也不会支持。 2022年4月18日的评论说: 程序集 System.Data.SqlXml 包含命名空间 System.Xml.Xsl.Runtime,该命名空间在 .NET Core 中不存在。 根据移植指南,msxsl:script 在 .NET Core 上不可用。 .NET Framework 特定教程预计不起作用。 第二个人评论: 看起来 System.Data.SqlXml 是 SQLXML 的一部分,属于 据我所知,SQL Server org 不支持 .NET Core。 第三个人回复: 目前没有关于 SQLXML 和对 .NET 5+ 支持的计划, 我们还没有听到很多这方面的请求。我会 建议在此处开放用户声音以获得一些吸引力并 关于该主题的共识:https://aka.ms/sqlfeedback 所以,这就是您的答案:“msxsl:script 在 .NET Core 上不可用。.NET Framework 特定教程预计不起作用。”原因是非 .NET 组织必须使其成为可能,但没有计划这样做。他们没有意识到需求。 而且,他们承认该文档具有误导性。似乎在 2022 年 5 月对文档进行了更改,并创建了拉取请求:请注意,XSLT 脚本块仅限 .NET Framework。 我认识到这并没有为您提供解决方案或前进的道路,这令人失望。但这就是您问题的答案:.NET 6.0 根本不支持以这种方式进行转换。 虽然距离这个问题大约有两年了,但我还是想分享一下我为自己的目的所做的解决方法,因为我没有找到任何其他解决方案,可以帮助在基于 .NET Core 的转换中使用编译的 xslt dll。 因此,如果您想将 XslCompiledTransform 类与通过 xlstc.exe 生成的 dll 类型一起使用,请按照以下步骤操作: 生成dll类 xsltc.exe /class:Transform /out:Your.Assembly.dll 将 dll 反汇编为 ILL 代码 ildasm Your.Assembly.dll /out=Your.Assembly.ill 将 Your.Assembly.ill 中所有出现的 [System.Data.SqlXml] 替换为 [System.Private.Xml] 将你的IL编译回dll ilasm Your.Assembly.ill /dll 现在您可以将 Your.Assembly.dll 引用添加到您的 .NET Core 项目


© www.soinside.com 2019 - 2024. All rights reserved.